Class DefaultSimpUserRegistry
- java.lang.Object
- org.springframework.web.socket.messaging.DefaultSimpUserRegistry
- All Implemented Interfaces:
EventListener,ApplicationListener<ApplicationEvent>,SmartApplicationListener,Ordered,SimpUserRegistry
public class DefaultSimpUserRegistry extends Object implements SimpUserRegistry, SmartApplicationListener
A default implementation ofSimpUserRegistrythat relies onAbstractSubProtocolEventapplication context events to keep track of connected users and their subscriptions.- Since:
- 4.2
- Author:
- Rossen Stoyanchev
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor Summary
Constructors Constructor Description DefaultSimpUserRegistry()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<SimpSubscription>findSubscriptions(SimpSubscriptionMatcher matcher)Find subscriptions with the given matcher.intgetOrder()Determine this listener's order in a set of listeners for the same event.SimpUsergetUser(String userName)Get the user for the given name.intgetUserCount()Return the count of all connected users.Set<SimpUser>getUsers()Return a snapshot of all connected users.voidonApplicationEvent(ApplicationEvent event)Handle an application event.voidsetOrder(int order)Specify the order value for this registry.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.StringtoString()
Constructor Detail
DefaultSimpUserRegistry
public DefaultSimpUserRegistry()
Method Detail
setOrder
public void setOrder(int order)
Specify the order value for this registry.Default is
Ordered.LOWEST_PRECEDENCE.- Since:
- 5.0.8
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:
Ordered.HIGHEST_PRECEDENCE,Ordered.LOWEST_PRECEDENCE
supportsEventType
public boolean supportsEventType(Class<? extends ApplicationEvent> eventType)
Description copied from interface:SmartApplicationListenerDetermine whether this listener actually supports the given event type.- Specified by:
supportsEventTypein interfaceSmartApplicationListener- Parameters:
eventType- the event type (nevernull)
onApplicationEvent
public void onApplicationEvent(ApplicationEvent event)
Description copied from interface:ApplicationListenerHandle an application event.- Specified by:
onApplicationEventin interfaceApplicationListener<ApplicationEvent>- Parameters:
event- the event to respond to
supportsSourceType
public boolean supportsSourceType(@Nullable Class<?> sourceType)
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
getUser
@Nullable public SimpUser getUser(String userName)
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
public Set<SimpUser> 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
public Set<SimpSubscription> findSubscriptions(SimpSubscriptionMatcher matcher)
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