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
ConstructorsConstructorDescriptionUserRegistryMessageHandler(MultiServerUserRegistry userRegistry, SimpMessagingTemplate brokerTemplate, String broadcastDestination, TaskScheduler scheduler) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionReturn the configured destination for broadcasting UserRegistry information.longReturn the configured registry expiration period.voidhandleMessage(Message<?> message) Handle the given message.voidHandle an application event.voidsetRegistryExpirationPeriod(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, waitMethods 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:ApplicationListenerHandle an application event.- Specified by:
onApplicationEventin interfaceApplicationListener<BrokerAvailabilityEvent>- Parameters:
event- the event to respond to
-
handleMessage
Description copied from interface:MessageHandlerHandle the given message.- Specified by:
handleMessagein interfaceMessageHandler- Parameters:
message- the message to be handled- Throws:
MessagingException- if the handler failed to process the message
-