Class SubscriptionManager
java.lang.Object
net.engio.mbassy.subscription.SubscriptionManager
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 Summary
FieldsModifier and TypeFieldDescriptionprivate final MetadataReaderprivate final StrongConcurrentSet<Class> private final ReentrantReadWriteLockprivate final BusRuntimeprivate final SubscriptionFactoryprivate final Map<Class, Subscription[]> private final Map<Class, ArrayList<Subscription>> -
Constructor Summary
ConstructorsConstructorDescriptionSubscriptionManager(MetadataReader metadataReader, SubscriptionFactory subscriptionFactory, BusRuntime runtime) -
Method Summary
Modifier and TypeMethodDescriptionprivate Subscription[]getSubscriptionsByListener(Object listener) getSubscriptionsByMessageType(Class messageType) voidprivate voidsubscribe(Object listener, Subscription[] subscriptions) booleanunsubscribe(Object listener)
-
Field Details
-
metadataReader
-
subscriptionsPerMessage
-
subscriptionsPerListener
-
nonListeners
-
subscriptionFactory
-
readWriteLock
-
runtime
-
-
Constructor Details
-
SubscriptionManager
public SubscriptionManager(MetadataReader metadataReader, SubscriptionFactory subscriptionFactory, BusRuntime runtime)
-
-
Method Details
-
unsubscribe
-
getSubscriptionsByListener
-
subscribe
-
subscribe
-
getSubscriptionsByMessageType
-