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 Detail

      • getChannelNames

        List<String> getChannelNames()
        Get topic channel names
        Returns:
        channel names
      • 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 message
        listener - for messages
        Returns:
        locally unique listener id
        See Also:
        MessageListener
      • removeListener

        reactor.core.publisher.Mono<Void> removeListener​(Integer... listenerIds)
        Removes the listener by id for listening this topic
        Parameters:
        listenerIds - - message listener ids
        Returns:
        void
      • removeListener

        reactor.core.publisher.Mono<Void> removeListener​(MessageListener<?> listener)
        Removes the listener by instance 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