Class PullPushAdapter

java.lang.Object
org.jgroups.blocks.PullPushAdapter
All Implemented Interfaces:
Runnable, ChannelListener

public class PullPushAdapter extends Object implements Runnable, ChannelListener
Deprecated.
Use Receiver instead, this class will be removed in JGroups 3.0
Allows a client of Channel to be notified when messages have been received instead of having to actively poll the channel for new messages. Typically used in the client role (receive()). As this class does not implement interface Transport, but uses it for receiving messages, an underlying object has to be used to send messages (e.g. the channel on which an object of this class relies).

Multiple MembershipListeners can register with the PullPushAdapter; when a view is received, they will all be notified. There is one main message listener which sends and receives message. In addition, MessageListeners can register with a certain tag (identifier), and then send messages tagged with this identifier. When a message with such an identifier is received, the corresponding MessageListener will be looked up and the message dispatched to it. If no tag is found (default), the main MessageListener will receive the message.

Version:
$Revision
Author:
Bela Ban
  • Field Details

    • transport

      protected Transport transport
      Deprecated.
    • listener

      protected MessageListener listener
      Deprecated.
    • membership_listeners

      protected final List membership_listeners
      Deprecated.
    • receiver_thread

      protected Thread receiver_thread
      Deprecated.
    • listeners

      protected final HashMap listeners
      Deprecated.
    • log

      protected final org.apache.commons.logging.Log log
      Deprecated.
  • Constructor Details

  • Method Details

    • getTransport

      public Transport getTransport()
      Deprecated.
    • start

      public final void start()
      Deprecated.
    • stop

      public void stop()
      Deprecated.
    • send

      public void send(Serializable identifier, Message msg) throws Exception
      Deprecated.
      Sends a message to the group - listeners to this identifier will receive the messages.
      Parameters:
      identifier - the key that the proper listeners are listenting on
      msg - the Message to be sent
      Throws:
      Exception
      See Also:
    • send

      public void send(Message msg) throws Exception
      Deprecated.
      Sends a message with no identifier; listener member will get this message on the other group members.
      Parameters:
      msg - the Message to be sent
      Throws:
      Exception
    • setListener

      public final void setListener(MessageListener l)
      Deprecated.
    • registerListener

      public void registerListener(Serializable identifier, MessageListener l)
      Deprecated.
      Sets a listener to messages with a given identifier. Messages sent with this identifier in their headers will be routed to this listener. Note: there can be only one listener for one identifier; if you want to register a different listener to an already registered identifier, then unregister first.
      Parameters:
      identifier - - messages sent on the group with this object will be received by this listener
      l - - the listener that will get the message
    • unregisterListener

      public void unregisterListener(Serializable identifier)
      Deprecated.
      Removes a message listener to a given identifier from the message listeners map.
      Parameters:
      identifier - - the key to whom we do not want to listen any more
    • setMembershipListener

      public void setMembershipListener(MembershipListener ml)
    • addMembershipListener

      public final void addMembershipListener(MembershipListener l)
      Deprecated.
    • removeMembershipListener

      public void removeMembershipListener(MembershipListener l)
      Deprecated.
    • run

      public void run()
      Deprecated.
      Reentrant run(): message reception is serialized, then the listener is notified of the message reception
      Specified by:
      run in interface Runnable
    • handleMessage

      protected void handleMessage(Message msg)
      Deprecated.
      Check whether the message has an identifier. If yes, lookup the MessageListener associated with the given identifier in the hashtable and dispatch to it. Otherwise just use the main (default) message listener
    • notifyViewChange

      protected void notifyViewChange(View v)
      Deprecated.
    • notifySuspect

      protected void notifySuspect(Address suspected_mbr)
      Deprecated.
    • notifyBlock

      protected void notifyBlock()
      Deprecated.
    • notifyUnblock

      protected void notifyUnblock()
      Deprecated.
    • channelConnected

      public void channelConnected(Channel channel)
      Deprecated.
      Specified by:
      channelConnected in interface ChannelListener
    • channelDisconnected

      public void channelDisconnected(Channel channel)
      Deprecated.
      Specified by:
      channelDisconnected in interface ChannelListener
    • channelClosed

      public void channelClosed(Channel channel)
      Deprecated.
      Specified by:
      channelClosed in interface ChannelListener
    • channelShunned

      public void channelShunned()
      Deprecated.
      Specified by:
      channelShunned in interface ChannelListener
    • channelReconnected

      public void channelReconnected(Address addr)
      Deprecated.
      Specified by:
      channelReconnected in interface ChannelListener
    • getListener

      public MessageListener getListener()
      Deprecated.
      Returns:
      Returns the listener.