Skip to content

Commit d14ca57

Browse files
brucecloudchristophstrobl
authored andcommitted
DATAREDIS-976 - Polishing.
ClusterConnectionProvider now accepts cluster-specific connection interfaces for Pub/Sub connections. Original pull request: #450 & #457
1 parent ad54341 commit d14ca57

File tree

4 files changed

+14
-10
lines changed

4 files changed

+14
-10
lines changed

src/main/java/org/springframework/data/redis/connection/lettuce/ClusterConnectionProvider.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.lettuce.core.api.StatefulConnection;
2020
import io.lettuce.core.cluster.RedisClusterClient;
2121
import io.lettuce.core.cluster.api.StatefulRedisClusterConnection;
22+
import io.lettuce.core.cluster.pubsub.StatefulRedisClusterPubSubConnection;
2223
import io.lettuce.core.codec.RedisCodec;
2324
import io.lettuce.core.pubsub.StatefulRedisPubSubConnection;
2425

@@ -33,6 +34,7 @@
3334
*
3435
* @author Mark Paluch
3536
* @author Christoph Strobl
37+
* @author Bruce Cloud
3638
* @since 2.0
3739
*/
3840
class ClusterConnectionProvider implements LettuceConnectionProvider, RedisClientProvider {
@@ -93,7 +95,8 @@ class ClusterConnectionProvider implements LettuceConnectionProvider, RedisClien
9395
}
9496
}
9597

96-
if (connectionType.equals(StatefulRedisPubSubConnection.class)) {
98+
if (connectionType.equals(StatefulRedisPubSubConnection.class)
99+
|| connectionType.equals(StatefulRedisClusterPubSubConnection.class)) {
97100

98101
return client.connectPubSubAsync(codec) //
99102
.thenApply(connectionType::cast);

src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClusterConnection.java

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import io.lettuce.core.cluster.api.StatefulRedisClusterConnection;
2424
import io.lettuce.core.cluster.api.sync.RedisClusterCommands;
2525
import io.lettuce.core.cluster.models.partitions.Partitions;
26+
import io.lettuce.core.cluster.pubsub.StatefulRedisClusterPubSubConnection;
2627
import lombok.RequiredArgsConstructor;
2728

2829
import java.time.Duration;

src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1254,7 +1254,7 @@ private class LettucePoolConnectionProvider implements LettuceConnectionProvider
12541254

12551255
private final LettucePool pool;
12561256

1257-
/*
1257+
/*
12581258
* (non-Javadoc)
12591259
* @see org.springframework.data.redis.connection.lettuce.LettuceConnectionProvider#getConnection(java.lang.Class)
12601260
*/
@@ -1263,7 +1263,7 @@ private class LettucePoolConnectionProvider implements LettuceConnectionProvider
12631263
return connectionType.cast(pool.getResource());
12641264
}
12651265

1266-
/*
1266+
/*
12671267
* (non-Javadoc)
12681268
* @see org.springframework.data.redis.connection.lettuce.LettuceConnectionProvider#getConnectionAsync(java.lang.Class)
12691269
*/
@@ -1272,7 +1272,7 @@ private class LettucePoolConnectionProvider implements LettuceConnectionProvider
12721272
throw new UnsupportedOperationException("Async operations not supported!");
12731273
}
12741274

1275-
/*
1275+
/*
12761276
* (non-Javadoc)
12771277
* @see org.springframework.data.redis.connection.lettuce.LettuceConnectionProvider#release(io.lettuce.core.api.StatefulConnection)
12781278
*/

src/main/java/org/springframework/data/redis/connection/lettuce/LettuceMessageListener.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -35,41 +35,41 @@ class LettuceMessageListener implements RedisPubSubListener<byte[], byte[]> {
3535
this.listener = listener;
3636
}
3737

38-
/*
38+
/*
3939
* (non-Javadoc)
4040
* @see io.lettuce.core.pubsub.RedisPubSubListener#message(java.lang.Object, java.lang.Object)
4141
*/
4242
public void message(byte[] channel, byte[] message) {
4343
listener.onMessage(new DefaultMessage(channel, message), null);
4444
}
4545

46-
/*
46+
/*
4747
* (non-Javadoc)
4848
* @see io.lettuce.core.pubsub.RedisPubSubListener#message(java.lang.Object, java.lang.Object, java.lang.Object)
4949
*/
5050
public void message(byte[] pattern, byte[] channel, byte[] message) {
5151
listener.onMessage(new DefaultMessage(channel, message), pattern);
5252
}
5353

54-
/*
54+
/*
5555
* (non-Javadoc)
5656
* @see io.lettuce.core.pubsub.RedisPubSubListener#subscribed(java.lang.Object, long)
5757
*/
5858
public void subscribed(byte[] channel, long count) {}
5959

60-
/*
60+
/*
6161
* (non-Javadoc)
6262
* @see io.lettuce.core.pubsub.RedisPubSubListener#psubscribed(java.lang.Object, long)
6363
*/
6464
public void psubscribed(byte[] pattern, long count) {}
6565

66-
/*
66+
/*
6767
* (non-Javadoc)
6868
* @see io.lettuce.core.pubsub.RedisPubSubListener#unsubscribed(java.lang.Object, long)
6969
*/
7070
public void unsubscribed(byte[] channel, long count) {}
7171

72-
/*
72+
/*
7373
* (non-Javadoc)
7474
* @see io.lettuce.core.pubsub.RedisPubSubListener#punsubscribed(java.lang.Object, long)
7575
*/

0 commit comments

Comments
 (0)