Class UserRegistryMessageHandler
java.lang.Object
org.springframework.messaging.simp.user.UserRegistryMessageHandler
- All Implemented Interfaces:
EventListener
,ApplicationListener<BrokerAvailabilityEvent>
,MessageHandler
public class UserRegistryMessageHandler
extends Object
implements MessageHandler, ApplicationListener<BrokerAvailabilityEvent>
MessageHandler
that handles user registry broadcasts from other
application servers and periodically broadcasts the content of the local
user registry.
The aggregated information is maintained in a MultiServerUserRegistry
.
- Since:
- 4.2
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorDescriptionUserRegistryMessageHandler
(MultiServerUserRegistry userRegistry, SimpMessagingTemplate brokerTemplate, String broadcastDestination, TaskScheduler scheduler) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionReturn the configured destination for broadcasting UserRegistry information.long
Return the configured registry expiration period.void
handleMessage
(Message<?> message) Handle the given message.void
Handle an application event.void
setRegistryExpirationPeriod
(long milliseconds) Configure the amount of time (in milliseconds) before a remote user registry snapshot is considered expired.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.context.ApplicationListener
supportsAsyncExecution
-
Constructor Details
-
UserRegistryMessageHandler
public UserRegistryMessageHandler(MultiServerUserRegistry userRegistry, SimpMessagingTemplate brokerTemplate, String broadcastDestination, TaskScheduler scheduler) Constructor.- Parameters:
userRegistry
- the registry with local and remote user registry informationbrokerTemplate
- template for broadcasting local registry informationbroadcastDestination
- the destination to broadcast toscheduler
- the task scheduler to use
-
-
Method Details
-
getBroadcastDestination
Return the configured destination for broadcasting UserRegistry information. -
setRegistryExpirationPeriod
public void setRegistryExpirationPeriod(long milliseconds) Configure the amount of time (in milliseconds) before a remote user registry snapshot is considered expired.By default this is set to 20 seconds (value of 20000).
- Parameters:
milliseconds
- the expiration period in milliseconds
-
getRegistryExpirationPeriod
public long getRegistryExpirationPeriod()Return the configured registry expiration period. -
onApplicationEvent
Description copied from interface:ApplicationListener
Handle an application event.- Specified by:
onApplicationEvent
in interfaceApplicationListener<BrokerAvailabilityEvent>
- Parameters:
event
- the event to respond to
-
handleMessage
Description copied from interface:MessageHandler
Handle the given message.- Specified by:
handleMessage
in interfaceMessageHandler
- Parameters:
message
- the message to be handled- Throws:
MessagingException
- if the handler failed to process the message
-