diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java index 08fe265b0..7dc9e6f3d 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java @@ -65,7 +65,6 @@ public class LettuceConnection implements RedisConnection { private final com.lambdaworks.redis.RedisAsyncConnection asyncConn; private final com.lambdaworks.redis.RedisConnection con; - private RedisPubSubConnection pubsub; private final RedisCodec codec = LettuceUtils.CODEC; private final long timeout; @@ -157,7 +156,7 @@ public class LettuceConnection implements RedisConnection { } public RedisAsyncConnection getNativeConnection() { - return (pubsub != null ? pubsub : asyncConn); + return (subscription != null ? subscription.pubsub : asyncConn); } diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSubscription.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSubscription.java index 60907051f..ec6e79f43 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSubscription.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSubscription.java @@ -28,7 +28,7 @@ import com.lambdaworks.redis.pubsub.RedisPubSubConnection; */ class LettuceSubscription extends AbstractSubscription { - private final RedisPubSubConnection pubsub; + final RedisPubSubConnection pubsub; private LettuceMessageListener listener; LettuceSubscription(MessageListener listener, RedisPubSubConnection pubsubConnection) { @@ -43,6 +43,7 @@ class LettuceSubscription extends AbstractSubscription { pubsub.unsubscribe(new byte[0]); pubsub.punsubscribe(new byte[0]); pubsub.removeListener(this.listener); + pubsub.close(); }