You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by va...@apache.org on 2022/07/14 10:23:53 UTC

[qpid-broker-j] branch main updated: QPID-8585: [Broker-J] Deprecated methods in management-http / websocket plugin (#132)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 17f548f6a6 QPID-8585: [Broker-J] Deprecated methods in management-http / websocket plugin (#132)
17f548f6a6 is described below

commit 17f548f6a6229a633bba9344a3e7cea3dddfc2ab
Author: Daniil Kirilyuk <da...@gmail.com>
AuthorDate: Thu Jul 14 12:23:50 2022 +0200

    QPID-8585: [Broker-J] Deprecated methods in management-http / websocket plugin (#132)
---
 .../server/management/plugin/HttpManagement.java   | 32 ++++++++++++----------
 .../transport/websocket/WebSocketProvider.java     | 23 ++++++++--------
 2 files changed, 29 insertions(+), 26 deletions(-)

diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
index 080b7bd1b0..7581605848 100644
--- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
+++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
@@ -52,14 +52,13 @@ import com.google.common.base.Joiner;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.SettableFuture;
-import org.eclipse.jetty.http.HttpVersion;
 import org.eclipse.jetty.io.Connection;
 import org.eclipse.jetty.io.ssl.SslHandshakeListener;
 import org.eclipse.jetty.server.ConnectionFactory;
+import org.eclipse.jetty.server.DetectorConnectionFactory;
 import org.eclipse.jetty.server.HttpConfiguration;
 import org.eclipse.jetty.server.HttpConnectionFactory;
 import org.eclipse.jetty.server.NetworkConnector;
-import org.eclipse.jetty.server.OptionalSslConnectionFactory;
 import org.eclipse.jetty.server.SecureRequestCustomizer;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
@@ -185,7 +184,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
     private boolean _compressResponses;
 
     private final Map<HttpPort<?>, ServerConnector> _portConnectorMap = new ConcurrentHashMap<>();
-    private final Map<HttpPort<?>, SslContextFactory> _sslContextFactoryMap = new ConcurrentHashMap<>();
+    private final Map<HttpPort<?>, SslContextFactory.Server> _sslContextFactoryMap = new ConcurrentHashMap<>();
     private final BrokerChangeListener _brokerChangeListener = new BrokerChangeListener();
 
     private volatile boolean _serveUncompressedDojo;
@@ -390,7 +389,8 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
         root.addServlet(new ServletHolder(new TimeZoneServlet()), "/service/timezones");
 
         final Iterable<ContentFactory> contentFactories = new QpidServiceLoader().instancesOf(ContentFactory.class);
-        contentFactories.forEach(f->{
+        contentFactories.forEach(f ->
+        {
             ServletHolder metricsServlet = new ServletHolder(new ContentServlet(f));
             String path = f.getType().toLowerCase();
             root.addServlet(metricsServlet, "/" + path);
@@ -454,7 +454,8 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
                   .stream()
                   .map(Class::getSimpleName)
                   .map(String::toLowerCase)
-                  .forEach(name -> {
+                  .forEach(name ->
+                  {
                       root.addServlet(apiDocsServletHolder, "/apidocs/latest/" + name + "/");
                       root.addServlet(apiDocsServletHolder, "/apidocs/" + version + "/" + name + "/");
                       root.addServlet(apiDocsServletHolder, "/apidocs/latest/" + name);
@@ -518,16 +519,18 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
     @Override
     public boolean updateSSLContext(final HttpPort httpPort)
     {
-        final SslContextFactory sslContextFactory = getSslContextFactory(httpPort);
+        final SslContextFactory.Server sslContextFactory = getSslContextFactory(httpPort);
         if ( sslContextFactory != null)
         {
             try
             {
                 final SSLContext sslContext = createSslContext(httpPort);
-                sslContextFactory.reload(f -> {
-                    f.setSslContext(sslContext);
-                    f.setNeedClientAuth(httpPort.getNeedClientAuth());
-                    f.setWantClientAuth(httpPort.getWantClientAuth());
+                sslContextFactory.reload(f ->
+                {
+                    final SslContextFactory.Server server = (SslContextFactory.Server) f;
+                    server.setSslContext(sslContext);
+                    server.setNeedClientAuth(httpPort.getNeedClientAuth());
+                    server.setWantClientAuth(httpPort.getWantClientAuth());
                 });
                 return true;
             }
@@ -539,7 +542,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
         return false;
     }
 
-    private SslContextFactory getSslContextFactory(final HttpPort httpPort)
+    private SslContextFactory.Server getSslContextFactory(final HttpPort httpPort)
     {
         return _sslContextFactoryMap.get(httpPort);
     }
@@ -566,7 +569,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
 
         ConnectionFactory[] connectionFactories;
         Collection<Transport> transports = port.getTransports();
-        SslContextFactory sslContextFactory = null;
+        SslContextFactory.Server sslContextFactory = null;
         if (!transports.contains(Transport.SSL))
         {
             connectionFactories = new ConnectionFactory[]{httpConnectionFactory};
@@ -578,7 +581,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
                     new SslConnectionFactory(sslContextFactory, httpConnectionFactory.getProtocol());
             if (port.getTransports().contains(Transport.TCP))
             {
-                sslConnectionFactory = new OptionalSslConnectionFactory((SslConnectionFactory)sslConnectionFactory, HttpVersion.HTTP_1_1.asString());
+                sslConnectionFactory = new DetectorConnectionFactory((ConnectionFactory.Detecting) sslConnectionFactory);
             }
             connectionFactories = new ConnectionFactory[]{sslConnectionFactory, httpConnectionFactory};
         }
@@ -647,7 +650,6 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
             });
         }
 
-
         int acceptors = connector.getAcceptors();
         int selectors = connector.getSelectorManager().getSelectorCount();
         if (LOGGER.isDebugEnabled())
@@ -680,7 +682,7 @@ public class HttpManagement extends AbstractPluginAdapter<HttpManagement> implem
         return connector;
     }
 
-    private SslContextFactory createSslContextFactory(final HttpPort<?> port)
+    private SslContextFactory.Server createSslContextFactory(final HttpPort<?> port)
     {
         SslContextFactory.Server factory = new SslContextFactory.Server()
         {
diff --git a/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java b/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java
index 810cc95011..8fc2582e07 100644
--- a/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java
+++ b/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java
@@ -81,14 +81,13 @@ import org.apache.qpid.server.transport.network.Ticker;
 import org.apache.qpid.server.transport.network.security.ssl.SSLUtil;
 import org.apache.qpid.server.util.ServerScopedRuntimeException;
 
-
 class WebSocketProvider implements AcceptingTransport
 {
     private static final Logger LOGGER = LoggerFactory.getLogger(WebSocketProvider.class);
     private static final String AMQP_WEBSOCKET_SUBPROTOCOL = "amqp";
 
     private final Transport _transport;
-    private final SslContextFactory _sslContextFactory;
+    private final SslContextFactory.Server _sslContextFactory;
     private final AmqpPort<?> _port;
     private final Broker<?> _broker;
     private final Set<Protocol> _supported;
@@ -188,10 +187,10 @@ class WebSocketProvider implements AcceptingTransport
             public void configure(final WebSocketServletFactory factory)
             {
                 factory.setCreator((req, resp) ->
-                                   {
-                                       resp.setAcceptedSubProtocol(AMQP_WEBSOCKET_SUBPROTOCOL);
-                                       return new AmqpWebSocket();
-                                   });
+                {
+                    resp.setAcceptedSubProtocol(AMQP_WEBSOCKET_SUBPROTOCOL);
+                    return new AmqpWebSocket();
+                });
             }
 
             @Override
@@ -249,7 +248,7 @@ class WebSocketProvider implements AcceptingTransport
 
     }
 
-    private SslContextFactory createSslContextFactory(final AmqpPort<?> port)
+    private SslContextFactory.Server createSslContextFactory(final AmqpPort<?> port)
     {
         SslContextFactory.Server sslContextFactory = new SslContextFactory.Server()
         {
@@ -311,10 +310,12 @@ class WebSocketProvider implements AcceptingTransport
         {
             try
             {
-                _sslContextFactory.reload(f -> {
-                    f.setSslContext(_port.getSSLContext());
-                    f.setNeedClientAuth(_port.getNeedClientAuth());
-                    f.setWantClientAuth(_port.getWantClientAuth());
+                _sslContextFactory.reload(f ->
+                {
+                    final SslContextFactory.Server server = (SslContextFactory.Server) f;
+                    server.setSslContext(_port.getSSLContext());
+                    server.setNeedClientAuth(_port.getNeedClientAuth());
+                    server.setWantClientAuth(_port.getWantClientAuth());
                 });
                 return true;
             }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org