Package org.redisson.api
Interface RTopicReactive
-
public interface RTopicReactive
Reactive interface for Publish Subscribe object. Messages are delivered to all message listeners across Redis cluster.- Author:
- Nikita Koksharov
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <M> reactor.core.publisher.Mono<Integer>
addListener(Class<M> type, MessageListener<M> listener)
Subscribes to this topic.reactor.core.publisher.Mono<Integer>
addListener(StatusListener listener)
Subscribes to status changes of this topicreactor.core.publisher.Mono<Long>
countSubscribers()
Returns amount of subscribers to this topic across all Redisson instances.List<String>
getChannelNames()
Get topic channel names<M> reactor.core.publisher.Flux<M>
getMessages(Class<M> type)
Returns continues stream of published messages.reactor.core.publisher.Mono<Long>
publish(Object message)
Publish the message to all subscribers of this topic asynchronouslyreactor.core.publisher.Mono<Void>
removeListener(Integer... listenerIds)
Removes the listener byid
for listening this topicreactor.core.publisher.Mono<Void>
removeListener(MessageListener<?> listener)
Removes the listener byinstance
for listening this topic
-
-
-
Method Detail
-
publish
reactor.core.publisher.Mono<Long> publish(Object message)
Publish the message to all subscribers of this topic asynchronously- Parameters:
message
- to send- Returns:
- the
Future
object with number of clients that received the message
-
addListener
reactor.core.publisher.Mono<Integer> addListener(StatusListener listener)
Subscribes to status changes of this topic- Parameters:
listener
- for messages- Returns:
- listener id
- See Also:
StatusListener
-
addListener
<M> reactor.core.publisher.Mono<Integer> addListener(Class<M> type, MessageListener<M> listener)
Subscribes to this topic.MessageListener.onMessage
is called when any message is published on this topic.- Type Parameters:
M
- type of message- Parameters:
type
- - type of messagelistener
- for messages- Returns:
- locally unique listener id
- See Also:
MessageListener
-
removeListener
reactor.core.publisher.Mono<Void> removeListener(Integer... listenerIds)
Removes the listener byid
for listening this topic- Parameters:
listenerIds
- - message listener ids- Returns:
- void
-
removeListener
reactor.core.publisher.Mono<Void> removeListener(MessageListener<?> listener)
Removes the listener byinstance
for listening this topic- Parameters:
listener
- - message listener- Returns:
- void
-
getMessages
<M> reactor.core.publisher.Flux<M> getMessages(Class<M> type)
Returns continues stream of published messages.- Type Parameters:
M
- type of message- Parameters:
type
- - type of message to listen- Returns:
- stream of messages
-
countSubscribers
reactor.core.publisher.Mono<Long> countSubscribers()
Returns amount of subscribers to this topic across all Redisson instances. Each subscriber may have multiple listeners.- Returns:
- amount of subscribers
-
-