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
ConstructorDescriptionMultiServerUserRegistry
(SimpUserRegistry localRegistry) Create an instance wrapping the local user registry. -
Method Summary
Modifier and TypeMethodDescriptionfindSubscriptions
(SimpSubscriptionMatcher matcher) Find subscriptions with the given matcher.int
getOrder()
Determine this listener's order in a set of listeners for the same event.Get the user for the given name.int
Return the count of all connected users.getUsers()
Return a snapshot of all connected users.void
Handle an application event.boolean
supportsEventType
(Class<? extends ApplicationEvent> eventType) Determine whether this listener actually supports the given event type.boolean
supportsSourceType
(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, wait
Methods inherited from interface org.springframework.context.ApplicationListener
supportsAsyncExecution
Methods 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:SmartApplicationListener
Determine this listener's order in a set of listeners for the same event.The default implementation returns
Ordered.LOWEST_PRECEDENCE
.- Specified by:
getOrder
in interfaceOrdered
- Specified by:
getOrder
in interfaceSmartApplicationListener
- Returns:
- the order value
- See Also:
-
supportsEventType
Description copied from interface:SmartApplicationListener
Determine whether this listener actually supports the given event type.- Specified by:
supportsEventType
in interfaceSmartApplicationListener
- Parameters:
eventType
- the event type (nevernull
)
-
supportsSourceType
Description copied from interface:SmartApplicationListener
Determine whether this listener actually supports the given source type.The default implementation always returns
true
.- Specified by:
supportsSourceType
in interfaceSmartApplicationListener
- Parameters:
sourceType
- the source type, ornull
if no source
-
onApplicationEvent
Description copied from interface:ApplicationListener
Handle an application event.- Specified by:
onApplicationEvent
in interfaceApplicationListener<ApplicationEvent>
- Parameters:
event
- the event to respond to
-
getUser
Description copied from interface:SimpUserRegistry
Get the user for the given name.- Specified by:
getUser
in interfaceSimpUserRegistry
- Parameters:
userName
- the name of the user to look up- Returns:
- the user, or
null
if not connected
-
getUsers
Description copied from interface:SimpUserRegistry
Return a snapshot of all connected users.The returned set is a copy and will not reflect further changes.
- Specified by:
getUsers
in interfaceSimpUserRegistry
- Returns:
- the connected users, or an empty set if none
-
getUserCount
public int getUserCount()Description copied from interface:SimpUserRegistry
Return the count of all connected users.- Specified by:
getUserCount
in interfaceSimpUserRegistry
- Returns:
- the number of connected users
-
findSubscriptions
Description copied from interface:SimpUserRegistry
Find subscriptions with the given matcher.- Specified by:
findSubscriptions
in interfaceSimpUserRegistry
- Parameters:
matcher
- the matcher to use- Returns:
- a set of matching subscriptions, or an empty set if none
-
toString
-