org.jgroups.blocks
Class MessageListenerAdapter
java.lang.Object
org.jgroups.blocks.MessageListenerAdapter
- MessageListener
public class MessageListenerAdapter
extends java.lang.Object
This class provides multiplexing possibilities for
MessageListener
instances. Usually, we have more than one instance willing to listen to
incoming messages, but only one that can produce state for group.
PullPushAdapter
allows only one instance of
MessageListener
to be registered for message notification. With help of this class you
can overcome this limitation.
- Roman Rokytskyy (rrokytskyy@acm.org)
messageListeners
protected HashSet messageListeners
MessageListenerAdapter
public MessageListenerAdapter()
MessageListenerAdapter
public MessageListenerAdapter(MessageListener mainListener)
Create instance of this class. mainListener
is a main
listener instance that received message notifications and can get and
set group state.
mainListener
- instance of MessageListener
that will
provide state messages.
addMessageListener
public void addMessageListener(MessageListener listener)
Add message listener to this adapter. This method registers
listener
for message notification.
Note, state notification will not be used.
getState
public byte[] getState()
Get state from state listener if present.
- getState in interface MessageListener
- current state of the group state or
null
if no state
listeners were registered.
receive
public void receive(Message msg)
Receive message from group. This method will send this message to each
message listener that was registered in this adapter.
- receive in interface MessageListener
msg
- message to distribute within message listeners.
removeMessageListener
public void removeMessageListener(MessageListener listener)
Remove message listener from this adapter. This method deregisters
listener
from message notification.
setState
public void setState(byte[] state)
Set state of ths group. This method will delegate call to state listener
if it was previously registered.
- setState in interface MessageListener
setStateListener
public void setStateListener(MessageListener listener)
Register listener
for state notification events. There can
be only one state listener per adapter.
Copyright B) 2001,2002 www.jgroups.com . All Rights Reserved.