public class UserRegistryMessageHandler extends java.lang.Object implements MessageHandler, ApplicationListener<BrokerAvailabilityEvent>
MultiServerUserRegistry
.Modifier and Type | Class and Description |
---|---|
private class |
UserRegistryMessageHandler.UserRegistryTask |
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
broadcastDestination |
private SimpMessagingTemplate |
brokerTemplate |
private long |
registryExpirationPeriod |
private java.util.concurrent.ScheduledFuture<?> |
scheduledFuture |
private TaskScheduler |
scheduler |
private UserRegistryMessageHandler.UserRegistryTask |
schedulerTask |
private MultiServerUserRegistry |
userRegistry |
Constructor and Description |
---|
UserRegistryMessageHandler(SimpUserRegistry userRegistry,
SimpMessagingTemplate brokerTemplate,
java.lang.String broadcastDestination,
TaskScheduler scheduler) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getBroadcastDestination()
Return the destination for broadcasting user registry information to.
|
long |
getRegistryExpirationPeriod()
Return the configured registry expiration period.
|
void |
handleMessage(Message<?> message)
Handle the given message.
|
void |
onApplicationEvent(BrokerAvailabilityEvent event)
Handle an application event.
|
void |
setRegistryExpirationPeriod(long expirationPeriod)
Configure how long before a remote registry snapshot expires.
|
private final MultiServerUserRegistry userRegistry
private final SimpMessagingTemplate brokerTemplate
private final java.lang.String broadcastDestination
private final TaskScheduler scheduler
private final UserRegistryMessageHandler.UserRegistryTask schedulerTask
private volatile java.util.concurrent.ScheduledFuture<?> scheduledFuture
private long registryExpirationPeriod
public UserRegistryMessageHandler(SimpUserRegistry userRegistry, SimpMessagingTemplate brokerTemplate, java.lang.String broadcastDestination, TaskScheduler scheduler)
public java.lang.String getBroadcastDestination()
public void setRegistryExpirationPeriod(long expirationPeriod)
By default this is set to 20000 (20 seconds).
expirationPeriod
- the expiration period in millisecondspublic long getRegistryExpirationPeriod()
public void onApplicationEvent(BrokerAvailabilityEvent event)
ApplicationListener
onApplicationEvent
in interface ApplicationListener<BrokerAvailabilityEvent>
event
- the event to respond topublic void handleMessage(Message<?> message) throws MessagingException
MessageHandler
handleMessage
in interface MessageHandler
message
- the message to be handledMessagingException