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

gtully pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/main by this push:
     new 925cead  ARTEMIS-3433 - allow null return and throw error only startup 
usage paths
925cead is described below

commit 925ceadffa1561b459c781a3f72c84bd217cf276
Author: gtully <gary.tu...@gmail.com>
AuthorDate: Wed Oct 20 15:00:57 2021 +0100

    ARTEMIS-3433 - allow null return and throw error only startup usage paths
---
 .../activemq/artemis/core/remoting/impl/netty/NettyConnector.java | 8 ++++++--
 .../spi/core/remoting/ssl/OpenSSLContextFactoryProvider.java      | 3 ---
 .../activemq/artemis/core/remoting/impl/netty/NettyAcceptor.java  | 7 ++++++-
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git 
a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyConnector.java
 
b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyConnector.java
index f04b750..814a920 100644
--- 
a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyConnector.java
+++ 
b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyConnector.java
@@ -115,6 +115,7 @@ import 
org.apache.activemq.artemis.spi.core.remoting.BufferHandler;
 import 
org.apache.activemq.artemis.spi.core.remoting.ClientConnectionLifeCycleListener;
 import org.apache.activemq.artemis.spi.core.remoting.ClientProtocolManager;
 import org.apache.activemq.artemis.spi.core.remoting.Connection;
+import org.apache.activemq.artemis.spi.core.remoting.ssl.OpenSSLContextFactory;
 import 
org.apache.activemq.artemis.spi.core.remoting.ssl.OpenSSLContextFactoryProvider;
 import org.apache.activemq.artemis.spi.core.remoting.ssl.SSLContextConfig;
 import 
org.apache.activemq.artemis.spi.core.remoting.ssl.SSLContextFactoryProvider;
@@ -760,8 +761,11 @@ public class NettyConnector extends AbstractConnector {
    }
 
    private SSLEngine loadOpenSslEngine(final ByteBufAllocator alloc, final 
SSLContextConfig sslContextConfig) throws Exception {
-      final SslContext context = 
OpenSSLContextFactoryProvider.getOpenSSLContextFactory()
-         .getClientSslContext(sslContextConfig, configuration);
+      final OpenSSLContextFactory factory = 
OpenSSLContextFactoryProvider.getOpenSSLContextFactory();
+      if (factory == null) {
+         throw new IllegalStateException("No OpenSSLContextFactory 
registered!");
+      }
+      final SslContext context = factory.getClientSslContext(sslContextConfig, 
configuration);
 
       if (host != null && port != -1) {
          return context.newEngine(alloc, host, port);
diff --git 
a/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/remoting/ssl/OpenSSLContextFactoryProvider.java
 
b/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/remoting/ssl/OpenSSLContextFactoryProvider.java
index fbad75a..b50d7f3 100644
--- 
a/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/remoting/ssl/OpenSSLContextFactoryProvider.java
+++ 
b/artemis-core-client/src/main/java/org/apache/activemq/artemis/spi/core/remoting/ssl/OpenSSLContextFactoryProvider.java
@@ -31,9 +31,6 @@ public class OpenSSLContextFactoryProvider {
          }
       }
 
-      if (factoryWithHighestPrio == null)
-         throw new IllegalStateException("No OpenSSLContextFactory 
registered!");
-
       FACTORY = factoryWithHighestPrio;
    }
 
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyAcceptor.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyAcceptor.java
index b9d692b..22df7d0 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyAcceptor.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/remoting/impl/netty/NettyAcceptor.java
@@ -89,6 +89,7 @@ import 
org.apache.activemq.artemis.spi.core.protocol.ProtocolManager;
 import org.apache.activemq.artemis.spi.core.remoting.BufferHandler;
 import org.apache.activemq.artemis.spi.core.remoting.Connection;
 import 
org.apache.activemq.artemis.spi.core.remoting.ServerConnectionLifeCycleListener;
+import org.apache.activemq.artemis.spi.core.remoting.ssl.OpenSSLContextFactory;
 import 
org.apache.activemq.artemis.spi.core.remoting.ssl.OpenSSLContextFactoryProvider;
 import org.apache.activemq.artemis.spi.core.remoting.ssl.SSLContextConfig;
 import 
org.apache.activemq.artemis.spi.core.remoting.ssl.SSLContextFactoryProvider;
@@ -381,7 +382,11 @@ public class NettyAcceptor extends AbstractAcceptor {
       checkSSLConfiguration();
       try {
          if (TransportConstants.OPENSSL_PROVIDER.equals(sslProvider)) {
-            return 
OpenSSLContextFactoryProvider.getOpenSSLContextFactory().getServerSslContext(sslContextConfig,
 configuration);
+            OpenSSLContextFactory factory = 
OpenSSLContextFactoryProvider.getOpenSSLContextFactory();
+            if (factory != null) {
+               return factory.getServerSslContext(sslContextConfig, 
configuration);
+            }
+            throw new IllegalStateException("No OpenSSLContextFactory 
registered!");
          } else {
             return 
SSLContextFactoryProvider.getSSLContextFactory().getSSLContext(sslContextConfig,
 configuration);
          }

Reply via email to