Class VirtualMulticastSender
- java.lang.Object
-
- com.sun.enterprise.mgmt.transport.AbstractMulticastMessageSender
-
- com.sun.enterprise.mgmt.transport.VirtualMulticastSender
-
- All Implemented Interfaces:
MulticastMessageSender,ShoalMessageSender
public class VirtualMulticastSender extends AbstractMulticastMessageSender
This class extendsBlockingIOMulticastSenderfor supporting the circumstance that cluster members are located beyond one subnet or multicast traffic is disabledvirtualPeerIdListshould containPeerIDs of cluster members which are located beyond one subnet. So, thisMulticastMessageSenderwill broadcast a message to endpoints whichvirtualPeerIdListincludes as well as one subnet on TCP protocol.- Author:
- Bongjae Chang
-
-
Field Summary
-
Fields inherited from class com.sun.enterprise.mgmt.transport.AbstractMulticastMessageSender
localPeerID
-
Fields inherited from interface com.sun.enterprise.mgmt.transport.ShoalMessageSender
TCP_TRANSPORT, UDP_TRANSPORT
-
-
Constructor Summary
Constructors Constructor Description VirtualMulticastSender(NetworkManager networkManager, java.util.List<PeerID> initialPeerIds)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleandoBroadcast(Message message)Broadcasts or Multicasts the givenMessageto all membersjava.util.Set<PeerID>getVirtualPeerIDSet()voidremoveUnknownInstances()Remove all PeerID entries added via DISCOVERY_URI_LIST.voidstart()voidstop()-
Methods inherited from class com.sun.enterprise.mgmt.transport.AbstractMulticastMessageSender
broadcast
-
-
-
-
Constructor Detail
-
VirtualMulticastSender
public VirtualMulticastSender(NetworkManager networkManager, java.util.List<PeerID> initialPeerIds) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
getVirtualPeerIDSet
public java.util.Set<PeerID> getVirtualPeerIDSet()
-
start
public void start() throws java.io.IOExceptionDescription copied from class:AbstractMulticastMessageSender- Specified by:
startin interfaceShoalMessageSender- Overrides:
startin classAbstractMulticastMessageSender- Throws:
java.io.IOException
-
stop
public void stop() throws java.io.IOExceptionDescription copied from class:AbstractMulticastMessageSender- Specified by:
stopin interfaceShoalMessageSender- Overrides:
stopin classAbstractMulticastMessageSender- Throws:
java.io.IOException
-
doBroadcast
protected boolean doBroadcast(Message message) throws java.io.IOException
Broadcasts or Multicasts the givenMessageto all members- Specified by:
doBroadcastin classAbstractMulticastMessageSender- Parameters:
message- a message which is sent to all members- Returns:
- true if the message is sent to all members successfully, otherwise false
- Throws:
java.io.IOException- if I/O error occurs or given parameters are not valid
-
removeUnknownInstances
public void removeUnknownInstances()
Remove all PeerID entries added via DISCOVERY_URI_LIST. These entries have "Unknown_" at start for instance name. If there are not removed, then we send to those DISCOVERY_URI_LIST instances multiple times.
-
-