Class DatabaseClusterMessagingService

java.lang.Object
com.atlassian.jira.cluster.DatabaseClusterMessagingService
All Implemented Interfaces:
ClusterMessagingService

public class DatabaseClusterMessagingService extends Object implements ClusterMessagingService
Provides an implementation for the ClusterMessagingService that wraps an existing MessageHandlerService in order to provide an API that can be consumed by plugins.
Since:
v6.3
  • Constructor Details

    • DatabaseClusterMessagingService

      public DatabaseClusterMessagingService(MessageHandlerService messageHandlerService)
  • Method Details

    • registerListener

      public void registerListener(String channel, ClusterMessageConsumer consumer)
      Description copied from interface: ClusterMessagingService
      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.

      Specified by:
      registerListener in interface ClusterMessagingService
      Parameters:
      channel - The name of the channel
      consumer - The consumer that will receive messages
    • unregisterListener

      public void unregisterListener(String channel, ClusterMessageConsumer consumer)
      Description copied from interface: ClusterMessagingService
      Removes a ClusterMessageConsumer from the channel.

      The ClusterMessageConsumer will no longer receive messages that are sent to the nominated channel.

      Specified by:
      unregisterListener in interface ClusterMessagingService
      Parameters:
      channel - The name of the channel
      consumer - The consumer to be unregistered
    • unregisterListener

      public void unregisterListener(ClusterMessageConsumer consumer)
      Description copied from interface: ClusterMessagingService
      Removes a ClusterMessageConsumer from all channels.

      The ClusterMessageConsumer will no longer receive any messages.

      Specified by:
      unregisterListener in interface ClusterMessagingService
      Parameters:
      consumer - The consumer to be unregistered
    • sendRemote

      public void sendRemote(String channel, String message)
      Description copied from interface: ClusterMessagingService
      Sends an inter-node message to registered listeners, listeners on the node the message was raised will not be notified.
      Specified by:
      sendRemote in interface ClusterMessagingService
      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)