Class MultiServerUserRegistry
java.lang.Object
org.springframework.messaging.simp.user.MultiServerUserRegistry
- All Implemented Interfaces:
EventListener,ApplicationListener<ApplicationEvent>,SmartApplicationListener,Ordered,SimpUserRegistry
public class MultiServerUserRegistry
extends Object
implements SimpUserRegistry, SmartApplicationListener
SimpUserRegistry that looks up users in a "local" user registry as
well as a set of "remote" user registries. The local registry is provided as
a constructor argument while remote registries are updated via broadcasts
handled by UserRegistryMessageHandler which in turn notifies this
registry when updates are received.- Since:
- 4.2
- Author:
- Rossen Stoyanchev
-
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionMultiServerUserRegistry(SimpUserRegistry localRegistry) Create an instance wrapping the local user registry. -
Method Summary
Modifier and TypeMethodDescriptionfindSubscriptions(SimpSubscriptionMatcher matcher) Find subscriptions with the given matcher.intgetOrder()Determine this listener's order in a set of listeners for the same event.Get the user for the given name.intReturn the count of all connected users.getUsers()Return a snapshot of all connected users.voidHandle an application event.booleansupportsEventType(Class<? extends ApplicationEvent> eventType) Determine whether this listener actually supports the given event type.booleansupportsSourceType(Class<?> sourceType) Determine whether this listener actually supports the given source type.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.context.event.SmartApplicationListener
getListenerId
-
Constructor Details
-
MultiServerUserRegistry
Create an instance wrapping the local user registry.
-
-
Method Details
-
getOrder
public int getOrder()Description copied from interface:SmartApplicationListenerDetermine this listener's order in a set of listeners for the same event.The default implementation returns
Ordered.LOWEST_PRECEDENCE.- Specified by:
getOrderin interfaceOrdered- Specified by:
getOrderin interfaceSmartApplicationListener- Returns:
- the order value
- See Also:
-
supportsEventType
Description copied from interface:SmartApplicationListenerDetermine whether this listener actually supports the given event type.- Specified by:
supportsEventTypein interfaceSmartApplicationListener- Parameters:
eventType- the event type (nevernull)
-
supportsSourceType
Description copied from interface:SmartApplicationListenerDetermine whether this listener actually supports the given source type.The default implementation always returns
true.- Specified by:
supportsSourceTypein interfaceSmartApplicationListener- Parameters:
sourceType- the source type, ornullif no source
-
onApplicationEvent
Description copied from interface:ApplicationListenerHandle an application event.- Specified by:
onApplicationEventin interfaceApplicationListener<ApplicationEvent>- Parameters:
event- the event to respond to
-
getUser
Description copied from interface:SimpUserRegistryGet the user for the given name.- Specified by:
getUserin interfaceSimpUserRegistry- Parameters:
userName- the name of the user to look up- Returns:
- the user, or
nullif not connected
-
getUsers
Description copied from interface:SimpUserRegistryReturn a snapshot of all connected users.The returned set is a copy and will not reflect further changes.
- Specified by:
getUsersin interfaceSimpUserRegistry- Returns:
- the connected users, or an empty set if none
-
getUserCount
public int getUserCount()Description copied from interface:SimpUserRegistryReturn the count of all connected users.- Specified by:
getUserCountin interfaceSimpUserRegistry- Returns:
- the number of connected users
-
findSubscriptions
Description copied from interface:SimpUserRegistryFind subscriptions with the given matcher.- Specified by:
findSubscriptionsin interfaceSimpUserRegistry- Parameters:
matcher- the matcher to use- Returns:
- a set of matching subscriptions, or an empty set if none
-
toString
-