DATAREDIS-830 - Polishing.

Move Subscription initialization and update comments.

Original Pull Request: #341
This commit is contained in:
Christoph Strobl
2018-05-22 12:15:42 +02:00
parent e766b18d8e
commit 127aa26f68
2 changed files with 11 additions and 4 deletions

View File

@@ -800,7 +800,7 @@ public class LettuceConnection extends AbstractRedisConnection {
}
try {
subscription = new LettuceSubscription(listener, switchToPubSub(), connectionProvider);
subscription = initSubscription(listener);
subscription.pSubscribe(patterns);
} catch (Exception ex) {
throw convertLettuceAccessException(ex);
@@ -821,7 +821,7 @@ public class LettuceConnection extends AbstractRedisConnection {
}
try {
subscription = new LettuceSubscription(listener, switchToPubSub(), connectionProvider);
subscription = initSubscription(listener);
subscription.subscribe(channels);
} catch (Exception ex) {
throw convertLettuceAccessException(ex);
@@ -868,6 +868,10 @@ public class LettuceConnection extends AbstractRedisConnection {
return connectionProvider.getConnection(StatefulRedisPubSubConnection.class);
}
private LettuceSubscription initSubscription(MessageListener listener) {
return new LettuceSubscription(listener, switchToPubSub(), connectionProvider);
}
void pipeline(LettuceResult result) {
if (isQueueing()) {
transaction(result);

View File

@@ -26,6 +26,7 @@ import org.springframework.data.redis.connection.util.AbstractSubscription;
*
* @author Costin Leau
* @author Mark Paluch
* @author Christoph Strobl
*/
class LettuceSubscription extends AbstractSubscription {
@@ -82,7 +83,8 @@ class LettuceSubscription extends AbstractSubscription {
* @see org.springframework.data.redis.connection.util.AbstractSubscription#doPUnsubscribe(boolean, byte[][])
*/
protected void doPUnsubscribe(boolean all, byte[]... patterns) {
// lettuce doesn't automatically unsubscribe from all patterns
// ignore `all` flag as Lettuce unsubscribes from all patterns if none provided.
pubsub.punsubscribe(patterns);
}
@@ -99,7 +101,8 @@ class LettuceSubscription extends AbstractSubscription {
* @see org.springframework.data.redis.connection.util.AbstractSubscription#doUnsubscribe(boolean, byte[][])
*/
protected void doUnsubscribe(boolean all, byte[]... channels) {
// lettuce doesn't automatically unsubscribe from all channels
// ignore `all` flag as Lettuce unsubscribes from all channels if none provided.
pubsub.unsubscribe(channels);
}