Package org.redisson.api
Interface RReliableTopic
-
- All Superinterfaces:
RExpirable
,RExpirableAsync
,RObject
,RObjectAsync
,RReliableTopicAsync
- All Known Implementing Classes:
RedissonReliableTopic
public interface RReliableTopic extends RExpirable, RReliableTopicAsync
Reliable topic based on Redis Stream object.Dedicated Redis connection is allocated per instance (subscriber) of this object. Messages are delivered to all listeners attached to the same Redis setup.
Requires Redis 5.0.0 and higher.
- Author:
- Nikita Koksharov
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <M> String
addListener(Class<M> type, MessageListener<M> listener)
Subscribes to this topic.int
countListeners()
Returns amount of registered listeners to this topicint
countSubscribers()
Returns amount of subscribers to this topic across all Redisson instances.long
publish(Object message)
Publish the message to all subscribers of this topic asynchronously.void
removeAllListeners()
Removes all listeners from this topicvoid
removeListener(String... listenerIds)
Removes the listener byid
for listening this topiclong
size()
Amount of messages stored in Redis Stream object.-
Methods inherited from interface org.redisson.api.RExpirable
clearExpire, expire, expire, expireAt, expireAt, remainTimeToLive
-
Methods inherited from interface org.redisson.api.RExpirableAsync
clearExpireAsync, expireAsync, expireAsync, expireAtAsync, expireAtAsync, remainTimeToLiveAsync
-
Methods inherited from interface org.redisson.api.RObject
addListener, copy, delete, dump, getCodec, getIdleTime, getName, isExists, migrate, move, removeListener, rename, renamenx, restore, restore, restoreAndReplace, restoreAndReplace, sizeInMemory, touch, unlink
-
Methods inherited from interface org.redisson.api.RObjectAsync
addListenerAsync, copyAsync, deleteAsync, dumpAsync, getIdleTimeAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsync
-
Methods inherited from interface org.redisson.api.RReliableTopicAsync
addListenerAsync, countSubscribersAsync, publishAsync, removeAllListenersAsync, removeListenerAsync, sizeAsync
-
-
-
-
Method Detail
-
size
long size()
Amount of messages stored in Redis Stream object.- Returns:
- amount of messages
-
publish
long publish(Object message)
Publish the message to all subscribers of this topic asynchronously. Each subscriber may have multiple listeners.- Parameters:
message
- to send- Returns:
- number of subscribers that received the message
-
addListener
<M> String addListener(Class<M> type, MessageListener<M> listener)
Subscribes to this topic.MessageListener.onMessage
method is called when any message is published on this topic.Watchdog is started when listener was registered.
- Type Parameters:
M
- - type of message- Parameters:
type
- - type of messagelistener
- for messages- Returns:
- locally unique listener id
- See Also:
Config.setReliableTopicWatchdogTimeout(long)
,MessageListener
-
removeListener
void removeListener(String... listenerIds)
Removes the listener byid
for listening this topic- Parameters:
listenerIds
- - listener ids
-
removeAllListeners
void removeAllListeners()
Removes all listeners from this topic
-
countListeners
int countListeners()
Returns amount of registered listeners to this topic- Returns:
- amount of listeners
-
countSubscribers
int countSubscribers()
Returns amount of subscribers to this topic across all Redisson instances. Each subscriber may have multiple listeners.- Returns:
- amount of subscribers
-
-