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>
MessageHandlerthat 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
Constructors Constructor Description UserRegistryMessageHandler(MultiServerUserRegistry userRegistry, SimpMessagingTemplate brokerTemplate, String broadcastDestination, TaskScheduler scheduler)Constructor.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetBroadcastDestination()Return the configured destination for broadcasting UserRegistry information.longgetRegistryExpirationPeriod()Return the configured registry expiration period.voidhandleMessage(Message<?> message)Handle the given message.voidonApplicationEvent(BrokerAvailabilityEvent event)Handle an application event.voidsetRegistryExpirationPeriod(long milliseconds)Configure the amount of time (in milliseconds) before a remote user registry snapshot is considered expired.
Constructor Detail
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 Detail
getBroadcastDestination
public String 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
public void onApplicationEvent(BrokerAvailabilityEvent event)
Description copied from interface:ApplicationListenerHandle an application event.- Specified by:
onApplicationEventin interfaceApplicationListener<BrokerAvailabilityEvent>- Parameters:
event- the event to respond to
handleMessage
public void handleMessage(Message<?> message) throws MessagingException
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