Class RedisDistributedEventBus

java.lang.Object
com.cotani.redis.event.RedisDistributedEventBus
All Implemented Interfaces:
com.cotani.event.api.EventBus, AutoCloseable

public final class RedisDistributedEventBus extends Object implements com.cotani.event.api.EventBus
Distributed event bus bridging local EventBus listeners with Redis Pub/Sub across a server cluster.
  • Constructor Summary

    Constructors
    Constructor
    Description
    RedisDistributedEventBus(com.cotani.event.api.EventBus localBus, CotaniRedis redis, ChannelId channelId)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
     
    <T extends com.cotani.event.api.CotaniEvent>
    T
    publish(T event)
     
    <T extends com.cotani.event.api.CotaniEvent>
    CompletionStage<T>
    publishAsync(T event)
     
    <T extends com.cotani.event.api.CotaniEvent>
    RedisDistributedEventBus
    registerCodec(Class<T> eventClass, RedisCodec<T> codec)
     
    <T extends com.cotani.event.api.CotaniEvent>
    com.cotani.event.subscription.EventSubscription
    subscribe(Class<T> eventType, com.cotani.event.api.EventListener<? super T> listener)
     
    <T extends com.cotani.event.api.CotaniEvent>
    com.cotani.event.subscription.EventSubscription
    subscribe(Class<T> eventType, com.cotani.event.api.EventPriority priority, boolean ignoreCancelled, com.cotani.event.api.EventListener<? super T> listener)
     
    <T extends com.cotani.event.api.CotaniEvent>
    com.cotani.event.subscription.EventSubscription
    subscribe(Class<T> eventType, com.cotani.event.api.EventPriority priority, com.cotani.event.api.EventListener<? super T> listener)
     
    void
    unsubscribe(com.cotani.event.subscription.EventSubscription subscription)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.cotani.event.api.EventBus

    subscribe
  • Constructor Details

    • RedisDistributedEventBus

      public RedisDistributedEventBus(com.cotani.event.api.EventBus localBus, CotaniRedis redis, ChannelId channelId)
  • Method Details

    • registerCodec

      public <T extends com.cotani.event.api.CotaniEvent> RedisDistributedEventBus registerCodec(Class<T> eventClass, RedisCodec<T> codec)
    • publish

      public <T extends com.cotani.event.api.CotaniEvent> T publish(T event)
      Specified by:
      publish in interface com.cotani.event.api.EventBus
    • publishAsync

      public <T extends com.cotani.event.api.CotaniEvent> CompletionStage<T> publishAsync(T event)
      Specified by:
      publishAsync in interface com.cotani.event.api.EventBus
    • subscribe

      public <T extends com.cotani.event.api.CotaniEvent> com.cotani.event.subscription.EventSubscription subscribe(Class<T> eventType, com.cotani.event.api.EventListener<? super T> listener)
      Specified by:
      subscribe in interface com.cotani.event.api.EventBus
    • subscribe

      public <T extends com.cotani.event.api.CotaniEvent> com.cotani.event.subscription.EventSubscription subscribe(Class<T> eventType, com.cotani.event.api.EventPriority priority, com.cotani.event.api.EventListener<? super T> listener)
      Specified by:
      subscribe in interface com.cotani.event.api.EventBus
    • subscribe

      public <T extends com.cotani.event.api.CotaniEvent> com.cotani.event.subscription.EventSubscription subscribe(Class<T> eventType, com.cotani.event.api.EventPriority priority, boolean ignoreCancelled, com.cotani.event.api.EventListener<? super T> listener)
      Specified by:
      subscribe in interface com.cotani.event.api.EventBus
    • unsubscribe

      public void unsubscribe(com.cotani.event.subscription.EventSubscription subscription)
      Specified by:
      unsubscribe in interface com.cotani.event.api.EventBus
    • clear

      public void clear()
      Specified by:
      clear in interface com.cotani.event.api.EventBus
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface com.cotani.event.api.EventBus