public class ClusterMessageServiceImpl extends Object implements ClusterMessageService, ClusterMessageManager, com.atlassian.scheduler.JobRunner
| Constructor and Description |
|---|
ClusterMessageServiceImpl(com.atlassian.scheduler.SchedulerService schedulerService,
ClusterMessageDao dao,
ClusterService clusterService,
com.atlassian.event.api.EventPublisher eventPublisher,
Supplier<Long> timestampSupplier) |
| Modifier and Type | Method and Description |
|---|---|
void |
deleteMessagesOlderThan(Instant instant)
Removes all stored messages older than the specified instant
|
void |
deleteOldMessages()
Delete messages with timestamp older than an implementation-defined threshold.
|
List<InternalClusterMessage> |
getAllMessages() |
void |
onApplicationStarted(com.atlassian.config.lifecycle.events.ApplicationStartedEvent e) |
void |
onXMLRestore(XMLRestoreFinishedEvent restoreFinishedEvent) |
void |
publish(String channel,
String message)
Send a message to other nodes (excluding the sender), notifying all listeners on a specific channel.
|
void |
registerListener(ClusterMessageListener listener,
String channel)
Register a listener on a channel.
|
void |
registerSelf() |
com.atlassian.scheduler.JobRunnerResponse |
runJob(com.atlassian.scheduler.JobRunnerRequest request) |
void |
start()
Start polling for new messages.
|
void |
stop()
Stop polling for new messages and ignore any late messages on start().
|
void |
unregisterListener(ClusterMessageListener listener)
Unregister a listener from all channels.
|
void |
unregisterListener(ClusterMessageListener listener,
String channel)
Unregister a listener from a specific channel.
|
void |
unregisterSelf() |
public ClusterMessageServiceImpl(com.atlassian.scheduler.SchedulerService schedulerService,
ClusterMessageDao dao,
ClusterService clusterService,
com.atlassian.event.api.EventPublisher eventPublisher,
Supplier<Long> timestampSupplier)
@PostConstruct public void registerSelf()
@PreDestroy public void unregisterSelf()
@EventListener public void onApplicationStarted(com.atlassian.config.lifecycle.events.ApplicationStartedEvent e)
@EventListener public void onXMLRestore(XMLRestoreFinishedEvent restoreFinishedEvent)
public void start()
ClusterMessageManagerstart in interface ClusterMessageManagerpublic void stop()
ClusterMessageManagerstop in interface ClusterMessageManagerpublic void deleteOldMessages()
ClusterMessageManagerdeleteOldMessages in interface ClusterMessageManagerpublic void deleteMessagesOlderThan(Instant instant)
ClusterMessageManagerdeleteMessagesOlderThan in interface ClusterMessageManagerpublic void registerListener(ClusterMessageListener listener, String channel)
ClusterMessageServiceregisterListener in interface ClusterMessageServicepublic void unregisterListener(ClusterMessageListener listener, String channel)
ClusterMessageServiceunregisterListener in interface ClusterMessageServicepublic void unregisterListener(ClusterMessageListener listener)
ClusterMessageServiceunregisterListener in interface ClusterMessageServicepublic void publish(String channel, String message)
ClusterMessageServicepublish in interface ClusterMessageServicechannel - channel name, max. 64 characters.message - message content, max. 1024 characters.@Nullable public com.atlassian.scheduler.JobRunnerResponse runJob(com.atlassian.scheduler.JobRunnerRequest request)
runJob in interface com.atlassian.scheduler.JobRunnerpublic List<InternalClusterMessage> getAllMessages()
getAllMessages in interface ClusterMessageManagerCopyright © 2019 Atlassian. All rights reserved.