Class AbstractSubscriptionRegistry
- java.lang.Object
- org.springframework.messaging.simp.broker.AbstractSubscriptionRegistry
- All Implemented Interfaces:
SubscriptionRegistry
- Direct Known Subclasses:
DefaultSubscriptionRegistry
public abstract class AbstractSubscriptionRegistry extends Object implements SubscriptionRegistry
Abstract base class for implementations ofSubscriptionRegistrythat looks up information in messages but delegates to abstract methods for the actual storage and retrieval.- Since:
- 4.0
- Author:
- Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description AbstractSubscriptionRegistry()
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidaddSubscriptionInternal(String sessionId, String subscriptionId, String destination, Message<?> message)MultiValueMap<String,String>findSubscriptions(Message<?> message)Find all subscriptions that should receive the given message.protected abstract MultiValueMap<String,String>findSubscriptionsInternal(String destination, Message<?> message)voidregisterSubscription(Message<?> message)Register a subscription represented by the given message.protected abstract voidremoveSubscriptionInternal(String sessionId, String subscriptionId, Message<?> message)voidunregisterSubscription(Message<?> message)Unregister a subscription.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.messaging.simp.broker.SubscriptionRegistry
unregisterAllSubscriptions
Constructor Detail
AbstractSubscriptionRegistry
public AbstractSubscriptionRegistry()
Method Detail
registerSubscription
public final void registerSubscription(Message<?> message)
Description copied from interface:SubscriptionRegistryRegister a subscription represented by the given message.- Specified by:
registerSubscriptionin interfaceSubscriptionRegistry- Parameters:
message- the subscription request
unregisterSubscription
public final void unregisterSubscription(Message<?> message)
Description copied from interface:SubscriptionRegistryUnregister a subscription.- Specified by:
unregisterSubscriptionin interfaceSubscriptionRegistry- Parameters:
message- the request to unsubscribe
findSubscriptions
public final MultiValueMap<String,String> findSubscriptions(Message<?> message)
Description copied from interface:SubscriptionRegistryFind all subscriptions that should receive the given message. The map returned is safe to iterate and will never be modified.- Specified by:
findSubscriptionsin interfaceSubscriptionRegistry- Parameters:
message- the message- Returns:
- a
MultiValueMapwith sessionId-subscriptionId pairs (possibly empty)
addSubscriptionInternal
protected abstract void addSubscriptionInternal(String sessionId, String subscriptionId, String destination, Message<?> message)
removeSubscriptionInternal
protected abstract void removeSubscriptionInternal(String sessionId, String subscriptionId, Message<?> message)
findSubscriptionsInternal
protected abstract MultiValueMap<String,String> findSubscriptionsInternal(String destination, Message<?> message)