diff --git a/pom.xml b/pom.xml index 3af2f1cb3..c361467ff 100644 --- a/pom.xml +++ b/pom.xml @@ -1040,6 +1040,32 @@ + + linux-native-transports + + + linux + + + + + + io.netty + netty-transport-native-epoll + ${netty.version} + ${os.detected.classifier} + test + + + io.netty + netty-transport-native-io_uring + ${netty.version} + ${os.detected.classifier} + test + + + + ci diff --git a/src/main/java/io/lettuce/core/resource/Transports.java b/src/main/java/io/lettuce/core/resource/Transports.java index d221e1040..fc2557787 100644 --- a/src/main/java/io/lettuce/core/resource/Transports.java +++ b/src/main/java/io/lettuce/core/resource/Transports.java @@ -63,8 +63,9 @@ public static class NativeTransports { private static final InternalLogger transportsLogger = InternalLoggerFactory.getInstance(Transports.class); - static EventLoopResources RESOURCES = KqueueProvider.isAvailable() ? KqueueProvider.getResources() - : IOUringProvider.isAvailable() ? IOUringProvider.getResources() : EpollProvider.getResources(); + // Priority order must match DefaultEventLoopGroupProvider: Epoll > Kqueue > IOUring + static EventLoopResources RESOURCES = EpollProvider.isAvailable() ? EpollProvider.getResources() + : KqueueProvider.isAvailable() ? KqueueProvider.getResources() : IOUringProvider.getResources(); /** * @return {@code true} if a native transport is available.