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
 void 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 Detail

registerListener

void registerListener(String channel,
                      ClusterMessageConsumer consumer)
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 channel
consumer - The consumer that will receive messages

unregisterListener

void unregisterListener(String channel,
                        ClusterMessageConsumer consumer)
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 channel
consumer - The consumer to be unregistered

unregisterListener

void unregisterListener(ClusterMessageConsumer consumer)
Removes a ClusterMessageConsumer from all channels. The ClusterMessageConsumer will no longer receive any messages.

Parameters:
consumer - The consumer to be unregistered

sendRemote

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.

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)


Copyright © 2002-2014 Atlassian. All Rights Reserved.