This is an automated email from the ASF dual-hosted git repository.
tabish pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-protonj2.git
The following commit(s) were added to refs/heads/main by this push:
new 723ccb39 PROTON-2923 Move to Netty 4.2.x as base Netty version
723ccb39 is described below
commit 723ccb39e2f323587af8c94980265d515a80918c
Author: Timothy Bish <[email protected]>
AuthorDate: Tue Mar 24 16:58:25 2026 -0400
PROTON-2923 Move to Netty 4.2.x as base Netty version
Update code and dependencies to netty 4.2.10 as the base version and
remove the deprecated usages of netty 4.1.x
---
pom.xml | 10 +--
protonj2-client/pom.xml | 12 +--
.../qpid/protonj2/client/TransportOptions.java | 7 +-
.../client/transport/netty4/EpollSupport.java | 5 +-
.../client/transport/netty4/IOUringSupport.java | 89 ++++------------------
.../client/transport/netty4/KQueueSupport.java | 5 +-
.../client/transport/netty4/Netty4IOContext.java | 5 +-
.../client/transport/netty4/TcpTransport.java | 2 +-
.../qpid/protonj2/client/impl/ConnectionTest.java | 68 +++++++++++++++++
.../client/transport/netty4/NettyServer.java | 7 +-
.../client/transport/netty4/SslSupportTest.java | 3 -
protonj2-test-driver/pom.xml | 5 --
12 files changed, 107 insertions(+), 111 deletions(-)
diff --git a/pom.xml b/pom.xml
index 029259da..93de8fda 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,8 +40,7 @@
<proton.version>0.34.1</proton.version>
<slf4j.version>2.0.17</slf4j.version>
<hamcrest.version>3.0</hamcrest.version>
- <netty.version>4.1.131.Final</netty.version>
- <netty.iouring.version>0.0.26.Final</netty.iouring.version>
+ <netty.version>4.2.10.Final</netty.version>
<netty.tcnative.version>2.0.75.Final</netty.tcnative.version>
<!-- Plugin versions -->
@@ -52,7 +51,6 @@
<surefire.runOrder>filesystem</surefire.runOrder>
<proton.trace.frames>false</proton.trace.frames>
- <netty-scope>compile</netty-scope>
<netty-transport-native-io-uring-classifier>linux-x86_64</netty-transport-native-io-uring-classifier>
<netty-transport-native-epoll-classifier>linux-x86_64</netty-transport-native-epoll-classifier>
<netty-transport-native-kqueue-classifier>osx-x86_64</netty-transport-native-kqueue-classifier>
@@ -155,9 +153,9 @@
<classifier>${netty-transport-native-kqueue-classifier}</classifier>
</dependency>
<dependency>
- <groupId>io.netty.incubator</groupId>
- <artifactId>netty-incubator-transport-native-io_uring</artifactId>
- <version>${netty.iouring.version}</version>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-transport-native-io_uring</artifactId>
+ <version>${netty.version}</version>
<classifier>${netty-transport-native-io-uring-classifier}</classifier>
</dependency>
<!-- Testing only Uber Jar inclusion -->
diff --git a/protonj2-client/pom.xml b/protonj2-client/pom.xml
index 5700e1bf..d887e6eb 100644
--- a/protonj2-client/pom.xml
+++ b/protonj2-client/pom.xml
@@ -43,45 +43,37 @@
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-common</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
<classifier>${netty-transport-native-epoll-classifier}</classifier>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
- <groupId>io.netty.incubator</groupId>
- <artifactId>netty-incubator-transport-native-io_uring</artifactId>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-transport-native-io_uring</artifactId>
<classifier>${netty-transport-native-io-uring-classifier}</classifier>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-kqueue</artifactId>
<classifier>${netty-transport-native-kqueue-classifier}</classifier>
- <scope>${netty-scope}</scope>
</dependency>
<!-- Test dependencies -->
<dependency>
diff --git
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/TransportOptions.java
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/TransportOptions.java
index 47e4f3c7..475e0bd0 100644
---
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/TransportOptions.java
+++
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/TransportOptions.java
@@ -42,7 +42,12 @@ public class TransportOptions implements Cloneable {
public static final boolean DEFAULT_USE_WEBSOCKETS = false;
public static final boolean DEFAULT_WEBSOCKET_COMPRESSION = false;
public static final int DEFAULT_WEBSOCKET_MAX_FRAME_SIZE = 65535;
- private static final String[] DEFAULT_NATIVEIO_PREFERENCES_ARRAY = {
"EPOLL", "KQUEUE" };
+ public static final String NATIVE_EPOLL_TRANSPORT = "EPOLL";
+ public static final String NATIVE_KQUEUE_TRANSPORT = "KQUEUE";
+ public static final String NATIVE_IO_URING_TRANSPORT = "IO_URING";
+ private static final String[] DEFAULT_NATIVEIO_PREFERENCES_ARRAY = {
NATIVE_EPOLL_TRANSPORT,
+
NATIVE_KQUEUE_TRANSPORT,
+
NATIVE_IO_URING_TRANSPORT };
public static final List<String> DEFAULT_NATIVEIO_PREFERENCES =
Collections.unmodifiableList(Arrays.asList(
DEFAULT_NATIVEIO_PREFERENCES_ARRAY ));
diff --git
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/EpollSupport.java
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/EpollSupport.java
index c9408652..557b0b98 100644
---
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/EpollSupport.java
+++
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/EpollSupport.java
@@ -24,8 +24,9 @@ import org.slf4j.LoggerFactory;
import io.netty.channel.Channel;
import io.netty.channel.EventLoopGroup;
+import io.netty.channel.MultiThreadIoEventLoopGroup;
import io.netty.channel.epoll.Epoll;
-import io.netty.channel.epoll.EpollEventLoopGroup;
+import io.netty.channel.epoll.EpollIoHandler;
import io.netty.channel.epoll.EpollSocketChannel;
public final class EpollSupport {
@@ -50,7 +51,7 @@ public final class EpollSupport {
public static EventLoopGroup createGroup(int nThreads, ThreadFactory
ioThreadFactory) {
ensureAvailability();
- return new EpollEventLoopGroup(nThreads, ioThreadFactory);
+ return new MultiThreadIoEventLoopGroup(nThreads, ioThreadFactory,
EpollIoHandler.newFactory());
}
public static Class<? extends Channel> getChannelClass() {
diff --git
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/IOUringSupport.java
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/IOUringSupport.java
index 2ea08040..373e71c8 100644
---
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/IOUringSupport.java
+++
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/IOUringSupport.java
@@ -16,8 +16,6 @@
*/
package org.apache.qpid.protonj2.client.transport.netty4;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
import java.util.concurrent.ThreadFactory;
import org.apache.qpid.protonj2.client.TransportOptions;
@@ -26,105 +24,44 @@ import org.slf4j.LoggerFactory;
import io.netty.channel.Channel;
import io.netty.channel.EventLoopGroup;
+import io.netty.channel.MultiThreadIoEventLoopGroup;
+import io.netty.channel.uring.IoUring;
+import io.netty.channel.uring.IoUringIoHandler;
+import io.netty.channel.uring.IoUringSocketChannel;
-@SuppressWarnings("unchecked")
public final class IOUringSupport {
private static final Logger LOG =
LoggerFactory.getLogger(IOUringSupport.class);
public static final String NAME = "IO_URING";
- private static final boolean AVAILABLE;
- private static final boolean INCUBATOR_VARIANT;
- private static final Class<? extends Channel> SOCKET_CHANNEL_CLASS;
- private static final Constructor<?> EVENTLOOP_CONSTRUCTOR;
- private static final Method IOHANDLER_FACTORY;
-
- static {
- boolean available = false;
- boolean incubator = false;
- Class<? extends Channel> socketChannelClass = null;
- Constructor<?> constructor = null;
- Method ioHandlerFactory = null;
+ public static boolean isAvailable(TransportOptions transportOptions) {
+ return transportOptions.allowNativeIO() && isAvailable();
+ }
- // Try for new Netty built in IoUring before falling back to incubator
checks
+ public static boolean isAvailable() {
try {
- final Class<?> ioUring =
Class.forName("io.netty.channel.uring.IoUring");
- final Method isAvailable =
ioUring.getDeclaredMethod("isAvailable", (Class<?>[])null);
- final Class<?> eventLoopGroup =
Class.forName("io.netty.channel.MultiThreadIoEventLoopGroup");
- final Class<?> ioUringHandler =
Class.forName("io.netty.channel.uring.IoUringIoHandler");
- final Class<?> ioUringHandlerFactory =
Class.forName("io.netty.channel.IoHandlerFactory");
-
- constructor = eventLoopGroup.getDeclaredConstructor(int.class,
ThreadFactory.class, ioUringHandlerFactory);
- ioHandlerFactory = ioUringHandler.getDeclaredMethod("newFactory");
- socketChannelClass = (Class<? extends Channel>)
Class.forName("io.netty.channel.uring.IoUringSocketChannel");
- available = (boolean) isAvailable.invoke(null);
+ return IoUring.isAvailable();
} catch (UnsatisfiedLinkError | Exception e) {
LOG.debug("Unable to enable netty io_uring support due to error",
e);
+ return false;
}
-
- if (!available) {
- try {
- final Class<?> ioUring =
Class.forName("io.netty.incubator.channel.uring.IOUring");
- final Method isAvailable =
ioUring.getDeclaredMethod("isAvailable");
- final Class<?> eventLoopGroup =
Class.forName("io.netty.incubator.channel.uring.IOUringEventLoopGroup");
-
- socketChannelClass = (Class<? extends Channel>)
Class.forName("io.netty.incubator.channel.uring.IOUringSocketChannel");
- constructor = eventLoopGroup.getDeclaredConstructor(int.class,
ThreadFactory.class);
- available = (boolean) isAvailable.invoke(null);
- incubator = true;
- } catch (UnsatisfiedLinkError | Exception e) {
- LOG.debug("Unable to enable netty incubator io_uring support
due to error", e);
- }
- }
-
- AVAILABLE = available;
- INCUBATOR_VARIANT = incubator;
- SOCKET_CHANNEL_CLASS = socketChannelClass;
- EVENTLOOP_CONSTRUCTOR = constructor;
- IOHANDLER_FACTORY = ioHandlerFactory;
- }
-
- public static boolean isAvailable(TransportOptions transportOptions) {
- return transportOptions.allowNativeIO() && AVAILABLE;
- }
-
- public static boolean isAvailable() {
- return AVAILABLE;
}
public static EventLoopGroup createGroup(int nThreads, ThreadFactory
ioThreadFactory) {
ensureAvailability();
- Exception createError = null;
-
- if (INCUBATOR_VARIANT) {
- try {
- return (EventLoopGroup)
EVENTLOOP_CONSTRUCTOR.newInstance(nThreads, ioThreadFactory);
- } catch (Exception e) {
- LOG.debug("Unable to create Netty incubator io_uring
EventLoopGroup due to error", e);
- createError = e;
- }
- } else {
- try {
- return (EventLoopGroup)
EVENTLOOP_CONSTRUCTOR.newInstance(nThreads, ioThreadFactory,
IOHANDLER_FACTORY.invoke(null));
- } catch (Exception e) {
- LOG.debug("Unable to create Netty io_uring EventLoopGroup due
to error", e);
- createError = e;
- }
- }
-
- throw (Error) new UnsupportedOperationException("Netty io_uring failed
to create resource").initCause(createError);
+ return new MultiThreadIoEventLoopGroup(nThreads, ioThreadFactory,
IoUringIoHandler.newFactory());
}
public static Class<? extends Channel> getChannelClass() {
ensureAvailability();
- return SOCKET_CHANNEL_CLASS;
+ return IoUringSocketChannel.class;
}
public static void ensureAvailability() {
- if (!AVAILABLE) {
+ if (!isAvailable()) {
throw new UnsupportedOperationException(
"Netty io_ring support is not enabled because the Netty
library indicates it is not present or disabled");
}
diff --git
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/KQueueSupport.java
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/KQueueSupport.java
index 4c8ef723..040782ff 100644
---
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/KQueueSupport.java
+++
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/KQueueSupport.java
@@ -24,8 +24,9 @@ import org.slf4j.LoggerFactory;
import io.netty.channel.Channel;
import io.netty.channel.EventLoopGroup;
+import io.netty.channel.MultiThreadIoEventLoopGroup;
import io.netty.channel.kqueue.KQueue;
-import io.netty.channel.kqueue.KQueueEventLoopGroup;
+import io.netty.channel.kqueue.KQueueIoHandler;
import io.netty.channel.kqueue.KQueueSocketChannel;
public final class KQueueSupport {
@@ -50,7 +51,7 @@ public final class KQueueSupport {
public static EventLoopGroup createGroup(int nThreads, ThreadFactory
ioThreadFactory) {
ensureAvailability();
- return new KQueueEventLoopGroup(nThreads, ioThreadFactory);
+ return new MultiThreadIoEventLoopGroup(nThreads, ioThreadFactory,
KQueueIoHandler.newFactory());
}
public static Class<? extends Channel> getChannelClass() {
diff --git
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/Netty4IOContext.java
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/Netty4IOContext.java
index c1b87797..20cd0a6d 100644
---
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/Netty4IOContext.java
+++
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/Netty4IOContext.java
@@ -33,7 +33,8 @@ import org.slf4j.LoggerFactory;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
import io.netty.channel.EventLoopGroup;
-import io.netty.channel.nio.NioEventLoopGroup;
+import io.netty.channel.MultiThreadIoEventLoopGroup;
+import io.netty.channel.nio.NioIoHandler;
import io.netty.channel.socket.nio.NioSocketChannel;
/**
@@ -100,7 +101,7 @@ public final class Netty4IOContext implements IOContext {
if (selectedGroup == null) {
LOG.trace("Netty Transports will be using NIO mode");
- selectedGroup = new NioEventLoopGroup(1, threadFactory);
+ selectedGroup = new MultiThreadIoEventLoopGroup(1, threadFactory,
NioIoHandler.newFactory());
selectedChannelClass = NioSocketChannel.class;
}
diff --git
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/TcpTransport.java
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/TcpTransport.java
index 13d2c55e..c8e0c6ea 100644
---
a/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/TcpTransport.java
+++
b/protonj2-client/src/main/java/org/apache/qpid/protonj2/client/transport/netty4/TcpTransport.java
@@ -428,7 +428,7 @@ public class TcpTransport implements Transport {
if (options.receiveBufferSize() != -1) {
bootstrap.option(ChannelOption.SO_RCVBUF,
options.receiveBufferSize());
- bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, new
FixedRecvByteBufAllocator(options.receiveBufferSize()));
+ bootstrap.option(ChannelOption.RECVBUF_ALLOCATOR, new
FixedRecvByteBufAllocator(options.receiveBufferSize()));
}
if (options.trafficClass() != -1) {
diff --git
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/ConnectionTest.java
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/ConnectionTest.java
index bb5afaa9..b2bea64a 100644
---
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/ConnectionTest.java
+++
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/impl/ConnectionTest.java
@@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
import java.io.IOException;
import java.net.URI;
@@ -45,6 +46,7 @@ import org.apache.qpid.protonj2.client.ReceiverOptions;
import org.apache.qpid.protonj2.client.Sender;
import org.apache.qpid.protonj2.client.Session;
import org.apache.qpid.protonj2.client.Tracker;
+import org.apache.qpid.protonj2.client.TransportOptions;
import
org.apache.qpid.protonj2.client.exceptions.ClientConnectionRedirectedException;
import
org.apache.qpid.protonj2.client.exceptions.ClientConnectionRemotelyClosedException;
import org.apache.qpid.protonj2.client.exceptions.ClientException;
@@ -52,6 +54,9 @@ import
org.apache.qpid.protonj2.client.exceptions.ClientIOException;
import
org.apache.qpid.protonj2.client.exceptions.ClientUnsupportedOperationException;
import org.apache.qpid.protonj2.client.test.ImperativeClientTestCase;
import org.apache.qpid.protonj2.client.test.Wait;
+import org.apache.qpid.protonj2.client.transport.netty4.EpollSupport;
+import org.apache.qpid.protonj2.client.transport.netty4.IOUringSupport;
+import org.apache.qpid.protonj2.client.transport.netty4.KQueueSupport;
import org.apache.qpid.protonj2.test.driver.ProtonTestServer;
import org.apache.qpid.protonj2.test.driver.ProtonTestServerOptions;
import org.apache.qpid.protonj2.test.driver.codec.messaging.TerminusDurability;
@@ -1892,6 +1897,69 @@ public class ConnectionTest extends
ImperativeClientTestCase {
}
}
+
+ @Test
+ public void testOpenDurableReceiverFromConnectionEpoll() throws Exception {
+ assumeTrue(EpollSupport.isAvailable());
+
+
doTestConnectionToPeerUsingNativeTransport(TransportOptions.NATIVE_EPOLL_TRANSPORT);
+ }
+
+ @Test
+ public void testOpenDurableReceiverFromConnectionKQueue() throws Exception
{
+ assumeTrue(KQueueSupport.isAvailable());
+
+
doTestConnectionToPeerUsingNativeTransport(TransportOptions.NATIVE_KQUEUE_TRANSPORT);
+ }
+
+ @Test
+ public void testOpenDurableReceiverFromConnectionIoUring() throws
Exception {
+ assumeTrue(IOUringSupport.isAvailable());
+
+
doTestConnectionToPeerUsingNativeTransport(TransportOptions.NATIVE_IO_URING_TRANSPORT);
+ }
+
+ private void doTestConnectionToPeerUsingNativeTransport(String nativeIO)
throws Exception {
+ final String address = "test-topic";
+ final String subscriptionName = "mySubscriptionName";
+
+ try (ProtonTestServer peer = new ProtonTestServer()) {
+ peer.expectSASLAnonymousConnect();
+ peer.expectOpen().respond();
+ peer.expectBegin().respond();
+ peer.expectAttach().ofReceiver()
+ .withName(subscriptionName)
+ .withSource()
+ .withAddress(address)
+
.withDurable(TerminusDurability.UNSETTLED_STATE)
+
.withExpiryPolicy(TerminusExpiryPolicy.NEVER)
+ .withDistributionMode("copy")
+ .and().respond();
+ peer.expectFlow();
+ peer.expectDetach().respond();
+ peer.expectClose().respond();
+ peer.start();
+
+ URI remoteURI = peer.getServerURI();
+
+ LOG.info("Test started, peer listening on: {}", remoteURI);
+
+ Client container = Client.create();
+ ConnectionOptions options = new ConnectionOptions();
+ options.transportOptions().allowNativeIO(true);
+ options.transportOptions().nativeIOPreference(nativeIO);
+ Connection connection = container.connect(remoteURI.getHost(),
remoteURI.getPort(), options);
+ Receiver receiver = connection.openDurableReceiver(address,
subscriptionName);
+
+ receiver.openFuture().get();
+ receiver.closeAsync().get();
+
+ connection.closeAsync().get();
+
+ peer.waitForScriptToComplete(6, TimeUnit.SECONDS);
+ }
+ }
+
@Disabled("Disabled due to requirement of hard coded port")
@Test
public void testLocalPortOption() throws Exception {
diff --git
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/NettyServer.java
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/NettyServer.java
index 52b7273e..eda5ad55 100644
---
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/NettyServer.java
+++
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/NettyServer.java
@@ -49,7 +49,8 @@ import io.netty.channel.ChannelOption;
import io.netty.channel.ChannelOutboundHandlerAdapter;
import io.netty.channel.ChannelPromise;
import io.netty.channel.EventLoopGroup;
-import io.netty.channel.nio.NioEventLoopGroup;
+import io.netty.channel.MultiThreadIoEventLoopGroup;
+import io.netty.channel.nio.NioIoHandler;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.codec.http.DefaultFullHttpResponse;
import io.netty.handler.codec.http.FullHttpRequest;
@@ -195,8 +196,8 @@ public abstract class NettyServer implements AutoCloseable {
if (started.compareAndSet(false, true)) {
// Configure the server.
- bossGroup = new NioEventLoopGroup(1);
- workerGroup = new NioEventLoopGroup();
+ bossGroup = new MultiThreadIoEventLoopGroup(1,
NioIoHandler.newFactory());
+ workerGroup = new MultiThreadIoEventLoopGroup(1,
NioIoHandler.newFactory());
ServerBootstrap server = new ServerBootstrap();
server.group(bossGroup, workerGroup);
diff --git
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/SslSupportTest.java
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/SslSupportTest.java
index 33630e4e..7da1df8f 100644
---
a/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/SslSupportTest.java
+++
b/protonj2-client/src/test/java/org/apache/qpid/protonj2/client/transport/netty4/SslSupportTest.java
@@ -48,7 +48,6 @@ import io.netty.handler.ssl.SslHandler;
/**
* Tests for the TransportSupport class.
*/
-@SuppressWarnings("deprecation")
public class SslSupportTest extends ImperativeClientTestCase {
public static final String PASSWORD = "password";
@@ -878,7 +877,6 @@ public class SslSupportTest extends
ImperativeClientTestCase {
public void testIsOpenSSLPossibleWhenHostNameVerificationConfigured()
throws Exception {
assumeTrue(OpenSsl.isAvailable());
assumeTrue(OpenSsl.supportsKeyManagerFactory());
- assumeTrue(OpenSsl.supportsHostnameValidation());
SslOptions options = new SslOptions();
options.allowNativeSSL(true);
@@ -894,7 +892,6 @@ public class SslSupportTest extends
ImperativeClientTestCase {
public void testIsOpenSSLPossibleWhenKeyAliasIsSpecified() throws
Exception {
assumeTrue(OpenSsl.isAvailable());
assumeTrue(OpenSsl.supportsKeyManagerFactory());
- assumeTrue(OpenSsl.supportsHostnameValidation());
SslOptions options = new SslOptions();
options.allowNativeSSL(true);
diff --git a/protonj2-test-driver/pom.xml b/protonj2-test-driver/pom.xml
index 4fcfd6d8..de85b9c4 100644
--- a/protonj2-test-driver/pom.xml
+++ b/protonj2-test-driver/pom.xml
@@ -32,27 +32,22 @@
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-common</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
- <scope>${netty-scope}</scope>
</dependency>
<!-- All other test peer dependencies -->
<dependency>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]