Package org.jgroups.blocks
Class PullPushAdapter
java.lang.Object
org.jgroups.blocks.PullPushAdapter
- All Implemented Interfaces:
Runnable
,ChannelListener
Deprecated.
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 -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected MessageListener
Deprecated.protected final HashMap
Deprecated.protected final org.apache.commons.logging.Log
Deprecated.protected final List
Deprecated.protected Thread
Deprecated.protected Transport
Deprecated. -
Constructor Summary
ConstructorsConstructorDescriptionPullPushAdapter
(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
Modifier and TypeMethodDescriptionfinal void
Deprecated.void
channelClosed
(Channel channel) Deprecated.void
channelConnected
(Channel channel) Deprecated.void
channelDisconnected
(Channel channel) Deprecated.void
channelReconnected
(Address addr) Deprecated.void
Deprecated.Deprecated.Deprecated.protected void
handleMessage
(Message msg) Deprecated.Check whether the message has an identifier.protected void
Deprecated.protected void
notifySuspect
(Address suspected_mbr) Deprecated.protected void
Deprecated.protected void
Deprecated.void
registerListener
(Serializable identifier, MessageListener l) Deprecated.Sets a listener to messages with a given identifier.void
Deprecated.void
run()
Deprecated.Reentrant run(): message reception is serialized, then the listener is notified of the message receptionvoid
send
(Serializable identifier, Message msg) Deprecated.Sends a message to the group - listeners to this identifier will receive the messages.void
Deprecated.Sends a message with no identifier; listener member will get this message on the other group members.final void
Deprecated.void
Deprecated.final void
start()
Deprecated.void
stop()
Deprecated.void
unregisterListener
(Serializable identifier) Deprecated.Removes a message listener to a given identifier from the message listeners map.
-
Field Details
-
transport
Deprecated. -
listener
Deprecated. -
membership_listeners
Deprecated. -
receiver_thread
Deprecated. -
listeners
Deprecated. -
log
protected final org.apache.commons.logging.Log logDeprecated.
-
-
Constructor Details
-
PullPushAdapter
Deprecated. -
PullPushAdapter
Deprecated. -
PullPushAdapter
Deprecated. -
PullPushAdapter
Deprecated. -
PullPushAdapter
public PullPushAdapter(Transport transport, MessageListener l, MembershipListener ml, boolean start) Deprecated.
-
-
Method Details
-
getTransport
Deprecated. -
start
public final void start()Deprecated. -
stop
public void stop()Deprecated. -
send
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 onmsg
- the Message to be sent- Throws:
Exception
- See Also:
-
send
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
Deprecated. -
registerListener
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 listenerl
- - the listener that will get the message
-
unregisterListener
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
Deprecated. -
addMembershipListener
Deprecated. -
removeMembershipListener
Deprecated. -
run
public void run()Deprecated.Reentrant run(): message reception is serialized, then the listener is notified of the message reception -
handleMessage
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
Deprecated. -
notifySuspect
Deprecated. -
notifyBlock
protected void notifyBlock()Deprecated. -
notifyUnblock
protected void notifyUnblock()Deprecated. -
channelConnected
Deprecated.- Specified by:
channelConnected
in interfaceChannelListener
-
channelDisconnected
Deprecated.- Specified by:
channelDisconnected
in interfaceChannelListener
-
channelClosed
Deprecated.- Specified by:
channelClosed
in interfaceChannelListener
-
channelShunned
public void channelShunned()Deprecated.- Specified by:
channelShunned
in interfaceChannelListener
-
channelReconnected
Deprecated.- Specified by:
channelReconnected
in interfaceChannelListener
-
getListener
Deprecated.- Returns:
- Returns the listener.
-
Receiver
instead, this class will be removed in JGroups 3.0