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

bonampak pushed a commit to branch feature/jakarta-jetty-upgrade
in repository https://gitbox.apache.org/repos/asf/knox.git

commit 4ec3972635360a04769cf5850b75aef1e430ba80
Author: bonampak <[email protected]>
AuthorDate: Tue Apr 21 19:19:38 2026 +0200

    KNOX-3238: refactor createConnector
---
 .../src/main/java/org/apache/knox/gateway/GatewayServer.java | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java 
b/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java
index acd0dbcbf..1f0d1e973 100644
--- a/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java
+++ b/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java
@@ -69,6 +69,7 @@ import org.eclipse.jetty.server.Request;
 import org.eclipse.jetty.server.SecureRequestCustomizer;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.server.SslConnectionFactory;
 import org.eclipse.jetty.server.handler.ContextHandler;
 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
 import org.eclipse.jetty.server.handler.ErrorHandler;
@@ -499,9 +500,16 @@ public class GatewayServer {
         httpsConfig.setSecurePort( connectorPort );
         httpsConfig.addCustomizer( new SecureRequestCustomizer() );
         SSLService ssl = services.getService(ServiceType.SSL_SERVICE);
-        SslContextFactory sslContextFactory = 
(SslContextFactory)ssl.buildSslContextFactory( config );
+        // In Jetty 12 the ServerConnector(Server, SslContextFactory, 
ConnectionFactory)
+        // convenience constructor was removed. Build an SslConnectionFactory 
explicitly
+        // and prepend it to the HttpConnectionFactory so that the SSL layer 
wraps HTTP/1.1.
+        SslContextFactory.Server sslContextFactory =
+            (SslContextFactory.Server) ssl.buildSslContextFactory( config );
         ssl.excludeTopologyFromClientAuth(sslContextFactory, config, 
topologyName);
-        connector = new ServerConnector( server, sslContextFactory, new 
HttpConnectionFactory( httpsConfig ) );
+        HttpConnectionFactory httpConnectionFactory = new 
HttpConnectionFactory( httpsConfig );
+        SslConnectionFactory sslConnectionFactory =
+            new SslConnectionFactory( sslContextFactory, 
httpConnectionFactory.getProtocol() );
+        connector = new ServerConnector( server, sslConnectionFactory, 
httpConnectionFactory );
       } else {
         connector = new ServerConnector(server, new 
HttpConnectionFactory(httpConfig));
       }

Reply via email to