org.jgroups.blocks

## Class PullPushAdapter

- java.lang.Object
- - org.jgroups.ChannelListenerAdapter
  - - org.jgroups.blocks.PullPushAdapter

- All Implemented Interfaces:
    java.lang.Runnable, ChannelListener

  Deprecated.
  Use `Receiver` instead, this class will be removed in JGroups 3.0

      public class PullPushAdapter
      extends ChannelListenerAdapter
      implements java.lang.Runnable

  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

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `PullPushAdapter.PullHeader` Deprecated.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected MessageListener` | `listener` Deprecated.
    `protected java.util.HashMap` | `listeners` Deprecated.
    `protected Log` | `log` Deprecated.
    `protected java.util.List` | `membership_listeners` Deprecated.
    `protected java.lang.Thread` | `receiver_thread` Deprecated.
    `protected Transport` | `transport` Deprecated.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PullPushAdapter(Transport transport)` Deprecated.
    `PullPushAdapter(Transport transport, MembershipListener ml)` Deprecated.
    `PullPushAdapter(Transport transport, MessageListener l)` Deprecated.
    `PullPushAdapter(Transport transport, MessageListener l, MembershipListener ml)` Deprecated.
    `PullPushAdapter(Transport transport, MessageListener l, MembershipListener ml, boolean start)` Deprecated.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addMembershipListener(MembershipListener l)` Deprecated.
    `void` | `channelClosed(Channel channel)` Deprecated.
    `void` | `channelConnected(Channel channel)` Deprecated.
    `void` | `channelDisconnected(Channel channel)` Deprecated.
    `MessageListener` | `getListener()` Deprecated.
    `Transport` | `getTransport()` Deprecated.
    `protected void` | `handleMessage(Message msg)` Deprecated. Check whether the message has an identifier.
    `protected void` | `notifyBlock()` Deprecated.
    `protected void` | `notifySuspect(Address suspected_mbr)` Deprecated.
    `protected void` | `notifyUnblock()` Deprecated.
    `protected void` | `notifyViewChange(View v)` Deprecated.
    `void` | `registerListener(java.io.Serializable identifier, MessageListener l)` Deprecated. Sets a listener to messages with a given identifier.
    `void` | `removeMembershipListener(MembershipListener l)` Deprecated.
    `void` | `run()` Deprecated. Reentrant run(): message reception is serialized, then the listener is notified of the message reception
    `void` | `send(Message msg)` Deprecated. Sends a message with no identifier; listener member will get this message on the other group members.
    `void` | `send(java.io.Serializable identifier, Message msg)` Deprecated. Sends a message to the group - listeners to this identifier will receive the messages.
    `void` | `setListener(MessageListener l)` Deprecated.
    `void` | `setMembershipListener(MembershipListener ml)` Deprecated. Use `addMembershipListener(org.jgroups.MembershipListener)`
    `void` | `start()` Deprecated.
    `void` | `stop()` Deprecated.
    `void` | `unregisterListener(java.io.Serializable identifier)` Deprecated. Removes a message listener to a given identifier from the message listeners map.

    - ### Methods inherited from class org.jgroups.ChannelListenerAdapter

      `channelReconnected, channelShunned`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### transport

          protected Transport transport

      Deprecated.

    - #### listener

          protected MessageListener listener

      Deprecated.

    - #### membership_listeners

          protected final java.util.List membership_listeners

      Deprecated.

    - #### receiver_thread

          protected java.lang.Thread receiver_thread

      Deprecated.

    - #### listeners

          protected final java.util.HashMap listeners

      Deprecated.

    - #### log

          protected final Log log

      Deprecated.

  - ### Constructor Detail

    - #### PullPushAdapter

          public PullPushAdapter(Transport transport)

      Deprecated.

    - #### PullPushAdapter

          public PullPushAdapter(Transport transport,
                         MessageListener l)

      Deprecated.

    - #### PullPushAdapter

          public PullPushAdapter(Transport transport,
                         MembershipListener ml)

      Deprecated.

    - #### PullPushAdapter

          public PullPushAdapter(Transport transport,
                         MessageListener l,
                         MembershipListener ml)

      Deprecated.

    - #### PullPushAdapter

          public PullPushAdapter(Transport transport,
                         MessageListener l,
                         MembershipListener ml,
                         boolean start)

      Deprecated.

  - ### Method Detail

    - #### getTransport

          public Transport getTransport()

      Deprecated.

    - #### start

          public final void start()

      Deprecated.

    - #### stop

          public void stop()

      Deprecated.

    - #### send

          public void send(java.io.Serializable identifier,
                  Message msg)
                    throws java.lang.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:
        `java.lang.Exception`
      See Also:
        `registerListener(java.io.Serializable, org.jgroups.MessageListener)`

    - #### send

          public void send(Message msg)
                    throws java.lang.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:
        `java.lang.Exception`

    - #### setListener

          public final void setListener(MessageListener l)

      Deprecated.

    - #### registerListener

          public void registerListener(java.io.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(java.io.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)

      Deprecated. Use `addMembershipListener(org.jgroups.MembershipListener)`

    - #### 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 `java.lang.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`
      Overrides:
        `channelConnected` in class `ChannelListenerAdapter`

    - #### channelDisconnected

          public void channelDisconnected(Channel channel)

      Deprecated.
      Specified by:
        `channelDisconnected` in interface `ChannelListener`
      Overrides:
        `channelDisconnected` in class `ChannelListenerAdapter`

    - #### channelClosed

          public void channelClosed(Channel channel)

      Deprecated.
      Specified by:
        `channelClosed` in interface `ChannelListener`
      Overrides:
        `channelClosed` in class `ChannelListenerAdapter`

    - #### getListener

          public MessageListener getListener()

      Deprecated.
      Returns:
        Returns the listener.

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.