K
- Key type.V
- Value type.public class RedisPubSubConnectionImpl<K,V> extends RedisAsyncConnectionImpl<K,V> implements RedisPubSubConnection<K,V>
RedisAsyncConnectionImpl.quit()
may be called.
Incoming messages and results of the subscribe(K...)
/unsubscribe(K...)
calls will be passed to all registered
RedisPubSubListener
s.
A ConnectionWatchdog
monitors each connection and reconnects automatically until
RedisChannelHandler.close()
is called. Channel and pattern subscriptions are renewed after reconnecting.ChannelHandler.Sharable
Modifier and Type | Field and Description |
---|---|
protected Set<K> |
channels |
protected List<RedisPubSubListener<K,V>> |
listeners |
protected Set<K> |
patterns |
codec, commandBuilder, multi
timeout, unit
Constructor and Description |
---|
RedisPubSubConnectionImpl(RedisChannelWriter<K,V> writer,
RedisCodec<K,V> codec,
long timeout,
TimeUnit unit)
Initialize a new connection.
|
Modifier and Type | Method and Description |
---|---|
void |
activated()
Notification when the connection becomes active (connected).
|
void |
addListener(RedisPubSubListener<K,V> listener)
Add a new listener.
|
void |
channelRead(Object msg)
Invoked on a channel read.
|
RedisFuture<Void> |
psubscribe(K... patterns)
Listen for messages published to channels matching the given patterns.
|
RedisFuture<Void> |
punsubscribe(K... patterns)
Stop listening for messages posted to channels matching the given patterns.
|
void |
removeListener(RedisPubSubListener<K,V> listener)
Remove an existing listener.
|
protected List<RedisFuture<Void>> |
resubscribe()
Re-subscribe to all previously subscribed channels and patterns.
|
RedisFuture<Void> |
subscribe(K... channels)
Listen for messages published to the given channels.
|
RedisFuture<Void> |
unsubscribe(K... channels)
Stop listening for messages posted to the given channels.
|
append, asking, auth, bgrewriteaof, bgsave, bitcount, bitcount, bitfield, bitopAnd, bitopNot, bitopOr, bitopXor, bitpos, bitpos, blpop, brpop, brpoplpush, clientGetname, clientKill, clientKill, clientList, clientPause, clientSetname, clusterAddSlots, clusterBumpepoch, clusterCountFailureReports, clusterCountKeysInSlot, clusterDelSlots, clusterFailover, clusterFlushslots, clusterForget, clusterGetKeysInSlot, clusterInfo, clusterKeyslot, clusterMeet, clusterMyId, clusterNodes, clusterReplicate, clusterReset, clusterSaveconfig, clusterSetConfigEpoch, clusterSetSlotImporting, clusterSetSlotMigrating, clusterSetSlotNode, clusterSetSlotStable, clusterSlaves, clusterSlots, command, commandCount, commandInfo, commandInfo, configGet, configResetstat, configRewrite, configSet, dbsize, debugHtstats, debugObject, debugOom, debugSegfault, decr, decrby, del, digest, discard, dispatch, dispatch, dispatch, dispatch, dispatch, dump, echo, eval, eval, evalsha, evalsha, exec, exists, exists, expire, expireat, expireat, flushall, flushallAsync, flushdb, flushdbAsync, geoadd, geoadd, geodist, geohash, geopos, georadius, georadius, georadius, georadiusbymember, georadiusbymember, georadiusbymember, get, getbit, getrange, getset, hdel, hexists, hget, hgetall, hgetall, hincrby, hincrbyfloat, hkeys, hkeys, hlen, hmget, hmget, hmset, hscan, hscan, hscan, hscan, hscan, hscan, hscan, hscan, hset, hsetnx, hstrlen, hvals, hvals, incr, incrby, incrbyfloat, info, info, isMulti, keys, keys, lastsave, lindex, linsert, llen, lpop, lpush, lpushx, lpushx, lrange, lrange, lrem, lset, ltrim, mget, mget, migrate, migrate, move, mset, msetnx, multi, objectEncoding, objectIdletime, objectRefcount, persist, pexpire, pexpireat, pexpireat, pfadd, pfcount, pfmerge, ping, psetex, pttl, publish, pubsubChannels, pubsubChannels, pubsubNumpat, pubsubNumsub, quit, randomkey, readOnly, readWrite, rename, renamenx, restore, role, rpop, rpoplpush, rpush, rpushx, rpushx, sadd, save, scan, scan, scan, scan, scan, scan, scan, scan, scard, scriptExists, scriptFlush, scriptKill, scriptLoad, sdiff, sdiff, sdiffstore, select, set, set, setbit, setex, setnx, setrange, shutdown, shutdown, sinter, sinter, sinterstore, sismember, slaveof, slaveofNoOne, slowlogGet, slowlogGet, slowlogLen, slowlogReset, smembers, smembers, smove, sort, sort, sort, sort, sortStore, spop, spop, srandmember, srandmember, srandmember, srem, sscan, sscan, sscan, sscan, sscan, sscan, sscan, sscan, string, strlen, sunion, sunion, sunionstore, sync, time, touch, ttl, type, unlink, unwatch, waitForReplication, watch, zadd, zadd, zadd, zadd, zaddincr, zcard, zcount, zcount, zincrby, zinterstore, zinterstore, zlexcount, zrange, zrange, zrangebylex, zrangebylex, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangeWithScores, zrangeWithScores, zrank, zrem, zremrangebylex, zremrangebyrank, zremrangebyscore, zremrangebyscore, zrevrange, zrevrange, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangeWithScores, zrevrangeWithScores, zrevrank, zscan, zscan, zscan, zscan, zscan, zscan, zscan, zscan, zscore, zunionstore, zunionstore
addListener, channelRead, channelRegistered, close, deactivated, flushCommands, getChannelWriter, getOptions, getTimeout, getTimeoutUnit, isClosed, isOpen, registerCloseables, reset, setAutoFlushCommands, setOptions, setTimeout
channelActive, channelInactive, channelReadComplete, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
handlerAdded, handlerRemoved, isSharable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
auth, select, setTimeout
asking, close, clusterAddSlots, clusterBumpepoch, clusterCountFailureReports, clusterCountKeysInSlot, clusterDelSlots, clusterFailover, clusterFlushslots, clusterForget, clusterGetKeysInSlot, clusterInfo, clusterKeyslot, clusterMeet, clusterMyId, clusterNodes, clusterReplicate, clusterReset, clusterSaveconfig, clusterSetConfigEpoch, clusterSetSlotImporting, clusterSetSlotMigrating, clusterSetSlotNode, clusterSetSlotStable, clusterSlaves, clusterSlots, readOnly, readWrite
hdel, hexists, hget, hgetall, hgetall, hincrby, hincrbyfloat, hkeys, hkeys, hlen, hmget, hmget, hmset, hscan, hscan, hscan, hscan, hscan, hscan, hscan, hscan, hset, hsetnx, hstrlen, hvals, hvals
del, dump, exists, exists, expire, expireat, expireat, keys, keys, migrate, migrate, move, objectEncoding, objectIdletime, objectRefcount, persist, pexpire, pexpireat, pexpireat, pttl, randomkey, rename, renamenx, restore, scan, scan, scan, scan, scan, scan, scan, scan, sort, sort, sort, sort, sortStore, touch, ttl, type, unlink
append, bitcount, bitcount, bitfield, bitopAnd, bitopNot, bitopOr, bitopXor, bitpos, bitpos, decr, decrby, get, getbit, getrange, getset, incr, incrby, incrbyfloat, mget, mget, mset, msetnx, psetex, set, set, setbit, setex, setnx, setrange, strlen
blpop, brpop, brpoplpush, lindex, linsert, llen, lpop, lpush, lpushx, lpushx, lrange, lrange, lrem, lset, ltrim, rpop, rpoplpush, rpush, rpushx, rpushx
sadd, scard, sdiff, sdiff, sdiffstore, sinter, sinter, sinterstore, sismember, smembers, smembers, smove, spop, spop, srandmember, srandmember, srandmember, srem, sscan, sscan, sscan, sscan, sscan, sscan, sscan, sscan, sunion, sunion, sunionstore
zadd, zadd, zadd, zadd, zaddincr, zcard, zcount, zcount, zincrby, zinterstore, zinterstore, zlexcount, zrange, zrange, zrangebylex, zrangebylex, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscore, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangebyscoreWithScores, zrangeWithScores, zrangeWithScores, zrank, zrem, zremrangebylex, zremrangebyrank, zremrangebyscore, zremrangebyscore, zrevrange, zrevrange, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscore, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangebyscoreWithScores, zrevrangeWithScores, zrevrangeWithScores, zrevrank, zscan, zscan, zscan, zscan, zscan, zscan, zscan, zscan, zscore, zunionstore, zunionstore
eval, eval, evalsha, evalsha, scriptExists, scriptFlush, scriptKill, scriptLoad
bgrewriteaof, bgsave, clientGetname, clientKill, clientKill, clientList, clientPause, clientSetname, command, commandCount, commandInfo, commandInfo, configGet, configResetstat, configRewrite, configSet, dbsize, debugHtstats, debugObject, debugOom, debugSegfault, flushall, flushallAsync, flushdb, flushdbAsync, info, info, lastsave, save, shutdown, slaveof, slaveofNoOne, slowlogGet, slowlogGet, slowlogLen, slowlogReset, sync, time
pfadd, pfcount, pfmerge
geoadd, geoadd, geodist, geohash, geopos, georadius, georadius, georadius, georadiusbymember, georadiusbymember, georadiusbymember
digest, discard, dispatch, dispatch, echo, exec, flushCommands, isOpen, multi, ping, publish, pubsubChannels, pubsubChannels, pubsubNumpat, pubsubNumsub, quit, role, setAutoFlushCommands, unwatch, waitForReplication, watch
handlerAdded, handlerRemoved
protected final List<RedisPubSubListener<K,V>> listeners
public RedisPubSubConnectionImpl(RedisChannelWriter<K,V> writer, RedisCodec<K,V> codec, long timeout, TimeUnit unit)
writer
- the channel writercodec
- Codec used to encode/decode keys and values.timeout
- Maximum time to wait for a responses.unit
- Unit of time for the timeout.public void addListener(RedisPubSubListener<K,V> listener)
addListener
in interface RedisPubSubConnection<K,V>
listener
- Listener.public void removeListener(RedisPubSubListener<K,V> listener)
removeListener
in interface RedisPubSubConnection<K,V>
listener
- Listener.public RedisFuture<Void> psubscribe(K... patterns)
RedisPubSubConnection
psubscribe
in interface RedisPubSubConnection<K,V>
patterns
- the patternspsubscribe
completionpublic RedisFuture<Void> punsubscribe(K... patterns)
RedisPubSubConnection
punsubscribe
in interface RedisPubSubConnection<K,V>
patterns
- the patternspunsubscribe
completionpublic RedisFuture<Void> subscribe(K... channels)
RedisPubSubConnection
subscribe
in interface RedisPubSubConnection<K,V>
channels
- the channelssubscribe
completionpublic RedisFuture<Void> unsubscribe(K... channels)
RedisPubSubConnection
unsubscribe
in interface RedisPubSubConnection<K,V>
channels
- the channelsunsubscribe
completion.public void activated()
RedisChannelHandler
activated
in class RedisAsyncConnectionImpl<K,V>
protected List<RedisFuture<Void>> resubscribe()
public void channelRead(Object msg)
RedisChannelHandler
channelRead
in class RedisChannelHandler<K,V>
msg
- channel messageCopyright © 2016. All rights reserved.