Class SubscriptionManager


  • public class SubscriptionManager
    extends java.lang.Object
    The subscription managers responsibility is to consistently handle and synchronize the message listener subscription process. It provides fast lookup of existing subscriptions when another instance of an already known listener is subscribed and takes care of creating new set of subscriptions for any unknown class that defines message handlers.
    • Field Detail

      • subscriptionsPerMessage

        private final java.util.Map<java.lang.Class,​java.util.ArrayList<Subscription>> subscriptionsPerMessage
      • subscriptionsPerListener

        private final java.util.Map<java.lang.Class,​Subscription[]> subscriptionsPerListener
      • readWriteLock

        private final java.util.concurrent.locks.ReentrantReadWriteLock readWriteLock
    • Method Detail

      • unsubscribe

        public boolean unsubscribe​(java.lang.Object listener)
      • getSubscriptionsByListener

        private Subscription[] getSubscriptionsByListener​(java.lang.Object listener)
      • subscribe

        public void subscribe​(java.lang.Object listener)
      • subscribe

        private void subscribe​(java.lang.Object listener,
                               Subscription[] subscriptions)
      • getSubscriptionsByMessageType

        public java.util.Collection<Subscription> getSubscriptionsByMessageType​(java.lang.Class messageType)