From 550cb9b2be32e5a6454e7bee5e31632498626a9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JB=20Onofr=C3=A9?= Date: Thu, 11 Apr 2024 09:09:10 +0200 Subject: [PATCH] AMQ-9473: Fix IntrospectionSupport to deal with SSLSocket properties --- .../java/org/apache/activemq/util/IntrospectionSupport.java | 3 +++ .../org/apache/activemq/jms/pool/IntrospectionSupport.java | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/activemq-client/src/main/java/org/apache/activemq/util/IntrospectionSupport.java b/activemq-client/src/main/java/org/apache/activemq/util/IntrospectionSupport.java index c43b3a2bdb..d69fd5b6b2 100644 --- a/activemq-client/src/main/java/org/apache/activemq/util/IntrospectionSupport.java +++ b/activemq-client/src/main/java/org/apache/activemq/util/IntrospectionSupport.java @@ -169,6 +169,9 @@ public final class IntrospectionSupport { if (target instanceof SSLServerSocket) { // overcome illegal access issues with internal implementation class clazz = SSLServerSocket.class; + } else if (target instanceof javax.net.ssl.SSLSocket) { + // overcome illegal access issues with internal implementation class + clazz = javax.net.ssl.SSLSocket.class; } Method setter = findSetterMethod(clazz, name); if (setter == null) { diff --git a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/IntrospectionSupport.java b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/IntrospectionSupport.java index c0b223d137..ac45f7ffd6 100644 --- a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/IntrospectionSupport.java +++ b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/IntrospectionSupport.java @@ -22,6 +22,7 @@ import java.util.Map; import java.util.Map.Entry; import javax.net.ssl.SSLServerSocket; +import javax.net.ssl.SSLSocket; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -60,6 +61,9 @@ public final class IntrospectionSupport { if (target instanceof SSLServerSocket) { // overcome illegal access issues with internal implementation class clazz = SSLServerSocket.class; + } else if (target instanceof javax.net.ssl.SSLSocket) { + // overcome illegal access issues with internal implementation class + clazz = javax.net.ssl.SSLSocket.class; } Method setter = findSetterMethod(clazz, name); if (setter == null) {