Package com.atlassian.jira.cluster
Interface ClusterMessagingService
- All Known Subinterfaces:
MessageHandlerService
- All Known Implementing Classes:
DatabaseClusterMessagingService
,OfBizMessageHandlerService
@ExperimentalApi
public interface ClusterMessagingService
Service responsible for notifying
ClusterMessageConsumer
instances when
messages are waiting to be processed. Also provides a mechanism for broadcasting messages to a channel.- Since:
- v6.3
-
Method Summary
Modifier and TypeMethodDescriptionvoid
registerListener
(String channel, ClusterMessageConsumer consumer) Register a ClusterMessageConsumer to receive messages sent to the nominated channel.void
sendRemote
(String channel, String message) Sends an inter-node message to registered listeners, listeners on the node the message was raised will not be notified.void
unregisterListener
(ClusterMessageConsumer consumer) Removes a ClusterMessageConsumer from all channels.void
unregisterListener
(String channel, ClusterMessageConsumer consumer) Removes a ClusterMessageConsumer from the channel.
-
Method Details
-
registerListener
Register a ClusterMessageConsumer to receive messages sent to the nominated channel.The receive method of the ClusterMessageConsumer will be invoked when a message is sent to a channel it is listening to. Registering a new listener for a channel will not remove any existing listeners on that channel. Listeners are weakly referenced, it is the responsibility of the caller to ensure that listeners are not prematurely garbage collected.
- Parameters:
channel
- The name of the channelconsumer
- The consumer that will receive messages
-
unregisterListener
Removes a ClusterMessageConsumer from the channel.The ClusterMessageConsumer will no longer receive messages that are sent to the nominated channel.
- Parameters:
channel
- The name of the channelconsumer
- The consumer to be unregistered
-
unregisterListener
Removes a ClusterMessageConsumer from all channels.The ClusterMessageConsumer will no longer receive any messages.
- Parameters:
consumer
- The consumer to be unregistered
-
sendRemote
Sends an inter-node message to registered listeners, listeners on the node the message was raised will not be notified.- Parameters:
channel
- The name of the channel (up to 20 alphanumeric characters in length)message
- The message to send (up to 200 characters in length)
-