@Component(value="cuba_ClusterManager") public class ClusterManager extends java.lang.Object implements ClusterManagerAPI
NAME
Constructor and Description |
---|
ClusterManager() |
Modifier and Type | Method and Description |
---|---|
void |
addListener(java.lang.Class messageClass,
ClusterListener listener)
Subscribe to messages from other cluster nodes.
|
int |
getActiveThreadsCount() |
org.jgroups.JChannel |
getChannel() |
java.lang.String |
getCurrentView()
Return a string representation of a set of active nodes in the cluster.
|
int |
getMessagesCount() |
long |
getReceivedBytes(java.lang.String className)
Get received bytes for specified
className |
long |
getReceivedMessages(java.lang.String className)
Get received messages count for specified
className |
long |
getSentBytes(java.lang.String className)
Get sent bytes for specified
className |
long |
getSentMessages(java.lang.String className)
Get sent messages count for specified
className |
boolean |
getSyncSendingForCurrentThread() |
boolean |
isMaster()
Inform whether the current node is currently the master node in the cluster.
|
boolean |
isStarted() |
java.lang.String |
printMessagesStat()
Sent/received messages statistics
|
java.lang.String |
printSharedStateStat()
Shared state statistics
|
void |
removeListener(java.lang.Class messageClass,
ClusterListener listener)
Unsubscribe from messages from other cluster nodes.
|
void |
send(java.io.Serializable message)
Send a message to all active cluster nodes.
|
void |
sendSync(java.io.Serializable message)
Send a message to all active cluster nodes synchronously.
|
void |
setSyncSendingForCurrentThread(boolean sync)
Forces synchronous sending for the current thread.
|
void |
start()
Join a cluster.
|
void |
stop()
Leave the cluster.
|
public org.jgroups.JChannel getChannel()
public void send(java.io.Serializable message)
ClusterManagerAPI
send
in interface ClusterManagerAPI
message
- serializable messagepublic void sendSync(java.io.Serializable message)
ClusterManagerAPI
sendSync
in interface ClusterManagerAPI
message
- serializable messagepublic boolean getSyncSendingForCurrentThread()
getSyncSendingForCurrentThread
in interface ClusterManagerAPI
ClusterManagerAPI.setSyncSendingForCurrentThread(boolean)
public void setSyncSendingForCurrentThread(boolean sync)
ClusterManagerAPI
ClusterManagerAPI.send(Serializable)
method will
send the message in the current thread and block until returning from the clustering implementation.setSyncSendingForCurrentThread
in interface ClusterManagerAPI
sync
- true to force synchronous sendingpublic void addListener(java.lang.Class messageClass, ClusterListener listener)
ClusterManagerAPI
addListener
in interface ClusterManagerAPI
messageClass
- the class of messages we want to be notifiedlistener
- listener instancepublic void removeListener(java.lang.Class messageClass, ClusterListener listener)
ClusterManagerAPI
removeListener
in interface ClusterManagerAPI
messageClass
- the class of messages we don't want to be notified anymorelistener
- listener instancepublic void start()
ClusterManagerAPI
start
in interface ClusterManagerAPI
public int getActiveThreadsCount()
getActiveThreadsCount
in interface ClusterManagerAPI
public int getMessagesCount()
getMessagesCount
in interface ClusterManagerAPI
public void stop()
ClusterManagerAPI
stop
in interface ClusterManagerAPI
public boolean isStarted()
isStarted
in interface ClusterManagerAPI
public boolean isMaster()
ClusterManagerAPI
isMaster
in interface ClusterManagerAPI
public java.lang.String getCurrentView()
ClusterManagerAPI
getCurrentView
in interface ClusterManagerAPI
public java.lang.String printSharedStateStat()
ClusterManagerAPI
printSharedStateStat
in interface ClusterManagerAPI
public java.lang.String printMessagesStat()
ClusterManagerAPI
printMessagesStat
in interface ClusterManagerAPI
public long getSentMessages(java.lang.String className)
ClusterManagerAPI
className
getSentMessages
in interface ClusterManagerAPI
public long getSentBytes(java.lang.String className)
ClusterManagerAPI
className
getSentBytes
in interface ClusterManagerAPI
public long getReceivedMessages(java.lang.String className)
ClusterManagerAPI
className
getReceivedMessages
in interface ClusterManagerAPI
public long getReceivedBytes(java.lang.String className)
ClusterManagerAPI
className
getReceivedBytes
in interface ClusterManagerAPI