com.sun.enterprise.mgmt.transport
Class AbstractNetworkManager

java.lang.Object
  extended by com.sun.enterprise.mgmt.transport.AbstractNetworkManager
All Implemented Interfaces:
MessageSender, MulticastMessageSender, NetworkManager, ShoalMessageSender
Direct Known Subclasses:
GrizzlyNetworkManager, JxtaNetworkManager

public abstract class AbstractNetworkManager
extends Object
implements NetworkManager

This class implements a common NetworkManager logic simply in order to help the specific transport layer to be implemented easily Mainly, this manages MessageListener and dispatches an inbound Message into the appropriate listener

Author:
Bongjae Chang

Field Summary
protected  PeerID localPeerID
          Represents local PeerID.
 
Fields inherited from interface com.sun.enterprise.mgmt.transport.ShoalMessageSender
TCP_TRANSPORT, UDP_TRANSPORT
 
Constructor Summary
AbstractNetworkManager()
           
 
Method Summary
 void addMessageListener(MessageListener messageListener)
          Adds the MessageListener
protected abstract  void afterDispatchingMessage(MessageEvent messageEvent, Map piggyback)
          After executing MessageListener.receiveMessageEvent(MessageEvent)} callback, this method will be called
protected abstract  void beforeDispatchingMessage(MessageEvent messageEvent, Map piggyback)
          Before executing MessageListener.receiveMessageEvent(MessageEvent)} callback, this method will be called
static NetworkManager getInstance(String transport)
           
 PeerID getLocalPeerID()
          Returns local PeerID
static Logger getLogger()
           
 void initialize(String groupName, String instanceName, Map properties)
          Initializes this network manager with given params and properties
 void receiveMessage(Message message, Map piggyback)
          Processes a received Message In this process, inbound Message will be wrapped into MessageEvent and be delivered to registered MessageListener with corresponding to the message type
 void removeMessageListener(MessageListener messageListener)
          Removes the MessageListener
 void start()
          Starts this network manager This method will be called after NetworkManager.initialize(String, String, java.util.Map) internally
 void stop()
          Stops this network manager For cleaning up remaining values and finishing I/O operation, this method could be used
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sun.enterprise.mgmt.transport.NetworkManager
addRemotePeer, getMessageSender, getMulticastMessageSender, getPeerID, isConnected, removePeerID
 
Methods inherited from interface com.sun.enterprise.mgmt.transport.MulticastMessageSender
broadcast
 
Methods inherited from interface com.sun.enterprise.mgmt.transport.MessageSender
send
 

Field Detail

localPeerID

protected PeerID localPeerID
Represents local PeerID. This value should be assigned in real NetworkManager's implementation correspoinding to the specific transport layer

Constructor Detail

AbstractNetworkManager

public AbstractNetworkManager()
Method Detail

start

public void start()
           throws IOException
Starts this network manager This method will be called after NetworkManager.initialize(String, String, java.util.Map) internally

Specified by:
start in interface NetworkManager
Specified by:
start in interface ShoalMessageSender
Throws:
IOException - if an I/O error occurs

stop

public void stop()
          throws IOException
Stops this network manager For cleaning up remaining values and finishing I/O operation, this method could be used

Specified by:
stop in interface NetworkManager
Specified by:
stop in interface ShoalMessageSender
Throws:
IOException - if an I/O error occurs

addMessageListener

public void addMessageListener(MessageListener messageListener)
Adds the MessageListener

Specified by:
addMessageListener in interface NetworkManager
Parameters:
messageListener - a message listener which should be registered on this network manager

removeMessageListener

public void removeMessageListener(MessageListener messageListener)
Removes the MessageListener

Specified by:
removeMessageListener in interface NetworkManager
Parameters:
messageListener - a message listener which should be removed

receiveMessage

public void receiveMessage(Message message,
                           Map piggyback)
Processes a received Message In this process, inbound Message will be wrapped into MessageEvent and be delivered to registered MessageListener with corresponding to the message type

Specified by:
receiveMessage in interface NetworkManager
Parameters:
message - inbound message
piggyback - piggyback

getLocalPeerID

public PeerID getLocalPeerID()
Returns local PeerID

Specified by:
getLocalPeerID in interface NetworkManager
Returns:
peer id

getInstance

public static NetworkManager getInstance(String transport)

beforeDispatchingMessage

protected abstract void beforeDispatchingMessage(MessageEvent messageEvent,
                                                 Map piggyback)
Before executing MessageListener.receiveMessageEvent(MessageEvent)} callback, this method will be called

Parameters:
messageEvent - a received MessageEvent
piggyback - piggyback

afterDispatchingMessage

protected abstract void afterDispatchingMessage(MessageEvent messageEvent,
                                                Map piggyback)
After executing MessageListener.receiveMessageEvent(MessageEvent)} callback, this method will be called

Parameters:
messageEvent - a received MessageEvent
piggyback - piggyback

getLogger

public static Logger getLogger()

initialize

public void initialize(String groupName,
                       String instanceName,
                       Map properties)
                throws IOException
Description copied from interface: NetworkManager
Initializes this network manager with given params and properties

Specified by:
initialize in interface NetworkManager
Parameters:
groupName - group name
instanceName - instance name
properties - specific properties
Throws:
IOException - if an unexpected error occurs


Copyright © 2012. All Rights Reserved.