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.