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); }