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. 
- 
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
 
 -