This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git


The following commit(s) were added to refs/heads/main by this push:
     new ba839ff9 QPIDJMS-611: better accommodate use with Netty 4.2.x
ba839ff9 is described below

commit ba839ff9ecee92cdf1583d4bb0708ebf4502dafb
Author: Robbie Gemmell <[email protected]>
AuthorDate: Fri Jul 11 16:38:52 2025 +0100

    QPIDJMS-611: better accommodate use with Netty 4.2.x
---
 qpid-jms-client/pom.xml                            |  8 +++----
 .../qpid/jms/transports/TransportSupport.java      | 28 ++++++++++------------
 .../transports/netty/NettyTcpTransportTest.java    |  3 ++-
 3 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/qpid-jms-client/pom.xml b/qpid-jms-client/pom.xml
index 4f213752..ac89932c 100644
--- a/qpid-jms-client/pom.xml
+++ b/qpid-jms-client/pom.xml
@@ -170,10 +170,10 @@
             <Export-Package>org.apache.qpid.jms.*</Export-Package>
             <Import-Package>
             io.opentracing.*;resolution:="optional",
-            
io.netty.channel.epoll;resolution:="optional";version="[4.1.0,4.2.0)",
-            
io.netty.channel.kqueue;resolution:="optional";version="[4.1.0,4.2.0)",
-            
io.netty.handler.proxy;resolution:="optional";version="[4.1.0,4.2.0)",
-            io.netty.*;version="[4.1.0,4.2.0)",
+            
io.netty.channel.epoll;resolution:="optional";version="[4.1.0,4.3.0)",
+            
io.netty.channel.kqueue;resolution:="optional";version="[4.1.0,4.3.0)",
+            
io.netty.handler.proxy;resolution:="optional";version="[4.1.0,4.3.0)",
+            io.netty.*;version="[4.1.0,4.3.0)",
             org.apache.qpid.proton.*;version="[0.33.2,0.40.0)",
             *</Import-Package>
             <Dynamic-ImportPackage>*</Dynamic-ImportPackage>
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TransportSupport.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TransportSupport.java
index 18eace6d..143ea97a 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TransportSupport.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TransportSupport.java
@@ -179,15 +179,7 @@ public class TransportSupport {
             engine = context.createSSLEngine(remote.getHost(), 
remote.getPort());
         }
 
-        engine.setEnabledProtocols(buildEnabledProtocols(engine, options));
-        engine.setEnabledCipherSuites(buildEnabledCipherSuites(engine, 
options));
-        engine.setUseClientMode(true);
-
-        if (options.isVerifyHost()) {
-            SSLParameters sslParameters = engine.getSSLParameters();
-            sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
-            engine.setSSLParameters(sslParameters);
-        }
+        configureSslEngine(options, engine);
 
         return engine;
     }
@@ -262,21 +254,27 @@ public class TransportSupport {
             engine = context.newEngine(allocator, remote.getHost(), 
remote.getPort());
         }
 
+        configureSslEngine(options, engine);
+
+        return engine;
+    }
+
+    //----- Internal support methods 
-----------------------------------------//
+
+    private static void configureSslEngine(TransportOptions options, SSLEngine 
engine) {
         engine.setEnabledProtocols(buildEnabledProtocols(engine, options));
         engine.setEnabledCipherSuites(buildEnabledCipherSuites(engine, 
options));
         engine.setUseClientMode(true);
 
+        final SSLParameters sslParameters = engine.getSSLParameters();
         if (options.isVerifyHost()) {
-            SSLParameters sslParameters = engine.getSSLParameters();
             sslParameters.setEndpointIdentificationAlgorithm("HTTPS");
-            engine.setSSLParameters(sslParameters);
+        } else {
+            sslParameters.setEndpointIdentificationAlgorithm(null);
         }
-
-        return engine;
+        engine.setSSLParameters(sslParameters);
     }
 
-    //----- Internal support methods 
-----------------------------------------//
-
     private static String[] buildEnabledProtocols(SSLEngine engine, 
TransportOptions options) {
         List<String> enabledProtocols = new ArrayList<String>();
 
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportTest.java
index 4181e61b..7cf7ee5a 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpTransportTest.java
@@ -343,7 +343,8 @@ public class NettyTcpTransportTest extends QpidJmsTestCase {
 
             assertTrue(transport.isConnected());
 
-            server.close();
+            // Ensure client connects and event handlers triggered.
+            Wait.waitFor(() -> server.getChannelActiveCount() > 0, 10000, 50);
         }
 
         final Transport connectedTransport = transport;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to