public class SimpleTcpCluster extends LifecycleMBeanBase implements CatalinaCluster, MembershipListener, ChannelListener
| Modifier and Type | Field and Description |
|---|---|
static String |
AFTER_MANAGERREGISTER_EVENT |
static String |
AFTER_MANAGERUNREGISTER_EVENT |
static String |
AFTER_MEMBERREGISTER_EVENT |
static String |
AFTER_MEMBERUNREGISTER_EVENT |
static String |
BEFORE_MANAGERREGISTER_EVENT |
static String |
BEFORE_MANAGERUNREGISTER_EVENT |
static String |
BEFORE_MEMBERREGISTER_EVENT |
static String |
BEFORE_MEMBERUNREGISTER_EVENT |
protected Channel |
channel
Group channel.
|
protected List<ClusterListener> |
clusterListeners
Listeners of messages
|
protected String |
clusterName
The cluster name to join
|
protected Container |
container
The Container associated with this Cluster.
|
protected boolean |
hasMembers
has members
|
protected boolean |
heartbeatBackgroundEnabled
call Channel.heartbeat() at container background thread
|
static Log |
log |
protected Map<String,ClusterManager> |
managers
The context name <-> manager association for distributed contexts.
|
protected ClusterManager |
managerTemplate |
static String |
RECEIVE_MESSAGE_FAILURE_EVENT |
static String |
SEND_MESSAGE_FAILURE_EVENT |
protected static StringManager |
sm
The string manager for this package.
|
protected PropertyChangeSupport |
support
The property change support for this component.
|
mserverAFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT| Constructor and Description |
|---|
SimpleTcpCluster() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
accept(Serializable msg,
Member sender)
notify all listeners from receiving a new message is not ClusterMessage
emit Failure Event to LifecylceListener
|
void |
addClusterListener(ClusterListener listener)
Add cluster message listener and register cluster to this listener.
|
void |
addValve(Valve valve)
Add cluster valve
Cluster Valves are only add to container when cluster is started!
|
void |
backgroundProcess()
Execute a periodic task, such as reloading, etc.
|
protected void |
checkDefaults() |
Manager |
createManager(String name)
Create new Manager without add to cluster (comes with start the manager)
|
protected void |
destroyInternal()
Sub-classes wishing to perform additional clean-up should override this
method, ensuring that super.destroyInternal() is the last call in the
overriding method.
|
ClusterListener[] |
findClusterListeners()
Get the cluster listeners associated with this cluster.
|
Channel |
getChannel() |
int |
getChannelSendOptions() |
int |
getChannelStartOptions() |
ClusterDeployer |
getClusterDeployer()
get current Deployer
|
String |
getClusterName()
Return the name of the cluster that this Server is currently configured
to operate within.
|
Container |
getContainer()
Get the Container associated with our Cluster
|
protected String |
getDomainInternal()
Method implemented by sub-classes to identify the domain in which MBeans
should be registered.
|
Member |
getLocalMember()
Return the member that represents this node.
|
Manager |
getManager(String name) |
String |
getManagerName(String name,
Manager manager) |
Map<String,ClusterManager> |
getManagers() |
ClusterManager |
getManagerTemplate() |
Member[] |
getMembers()
Get all current cluster members
|
protected String |
getObjectNameKeyProperties()
Allow sub-classes to specify the key properties component of the
ObjectName that will be used to register this component. |
Valve[] |
getValves()
get all cluster valves
|
boolean |
hasMembers()
Returns that cluster has members.
|
protected void |
initInternal()
Sub-classes wishing to perform additional initialization should override
this method, ensuring that super.initInternal() is the first call in the
overriding method.
|
boolean |
isHeartbeatBackgroundEnabled()
Return heartbeat enable flag (default false)
|
boolean |
isNotifyLifecycleListenerOnFailure() |
void |
memberAdded(Member member)
New cluster member is registered
|
void |
memberDisappeared(Member member)
Cluster member is gone
|
void |
messageReceived(ClusterMessage message) |
void |
messageReceived(Serializable message,
Member sender)
Receive a message from the channel
|
protected void |
registerClusterValve()
register all cluster valve to host or engine
|
void |
registerManager(Manager manager)
Register a manager with the cluster.
|
void |
removeClusterListener(ClusterListener listener)
Remove message listener and deregister Cluster from listener.
|
void |
removeManager(Manager manager)
Remove an application from cluster replication bus.
|
void |
send(ClusterMessage msg)
send message to all cluster members
|
void |
send(ClusterMessage msg,
Member dest)
send a cluster message to one member
|
void |
setChannel(Channel channel) |
void |
setChannelSendOptions(int channelSendOptions) |
void |
setChannelStartOptions(int channelStartOptions) |
void |
setClusterDeployer(ClusterDeployer clusterDeployer)
set a new Deployer, must be set before cluster started!
|
void |
setClusterName(String clusterName)
Set the name of the cluster to join, if no cluster with this name is
present create one.
|
void |
setContainer(Container container)
Set the Container associated with our Cluster
|
void |
setHeartbeatBackgroundEnabled(boolean heartbeatBackgroundEnabled)
enabled that container backgroundThread call heartbeat at channel
|
void |
setManagerTemplate(ClusterManager managerTemplate) |
void |
setNotifyLifecycleListenerOnFailure(boolean notifyListenerOnFailure) |
protected void |
startInternal()
Start Cluster and implement the requirements
of
LifecycleBase.startInternal(). |
protected void |
stopInternal()
Stop Cluster and implement the requirements
of
LifecycleBase.stopInternal(). |
String |
toString()
Return a String rendering of this object.
|
protected void |
unregisterClusterValve()
unregister all cluster valve to host or engine
|
getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregisteraddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stopclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitequals, hashCodepublic static final Log log
public static final String BEFORE_MEMBERREGISTER_EVENT
public static final String AFTER_MEMBERREGISTER_EVENT
public static final String BEFORE_MANAGERREGISTER_EVENT
public static final String AFTER_MANAGERREGISTER_EVENT
public static final String BEFORE_MANAGERUNREGISTER_EVENT
public static final String AFTER_MANAGERUNREGISTER_EVENT
public static final String BEFORE_MEMBERUNREGISTER_EVENT
public static final String AFTER_MEMBERUNREGISTER_EVENT
public static final String SEND_MESSAGE_FAILURE_EVENT
public static final String RECEIVE_MESSAGE_FAILURE_EVENT
protected Channel channel
protected static final StringManager sm
protected String clusterName
protected boolean heartbeatBackgroundEnabled
GroupChannel.heartbeat()protected Container container
protected final PropertyChangeSupport support
protected final Map<String,ClusterManager> managers
protected ClusterManager managerTemplate
protected final List<ClusterListener> clusterListeners
protected boolean hasMembers
public boolean isHeartbeatBackgroundEnabled()
public void setHeartbeatBackgroundEnabled(boolean heartbeatBackgroundEnabled)
heartbeatBackgroundEnabled - the heartbeatBackgroundEnabled to setpublic void setClusterName(String clusterName)
setClusterName in interface ClusterclusterName - The clustername to joinpublic String getClusterName()
getClusterName in interface Clusterpublic void setContainer(Container container)
setContainer in interface Clustercontainer - The Container to usepublic Container getContainer()
getContainer in interface Clusterpublic boolean isNotifyLifecycleListenerOnFailure()
public void setNotifyLifecycleListenerOnFailure(boolean notifyListenerOnFailure)
notifyListenerOnFailure - The notifyLifecycleListenerOnFailure to set.public void addValve(Valve valve)
addValve in interface CatalinaClustervalve - The new cluster Valve.public Valve[] getValves()
getValves in interface CatalinaClusterpublic ClusterListener[] findClusterListeners()
public void addClusterListener(ClusterListener listener)
addClusterListener in interface CatalinaClusterCatalinaCluster.addClusterListener(org.apache.catalina.ha.ClusterListener)public void removeClusterListener(ClusterListener listener)
removeClusterListener in interface CatalinaClusterCatalinaCluster.removeClusterListener(org.apache.catalina.ha.ClusterListener)public ClusterDeployer getClusterDeployer()
getClusterDeployer in interface CatalinaClusterpublic void setClusterDeployer(ClusterDeployer clusterDeployer)
setClusterDeployer in interface CatalinaClusterpublic void setChannel(Channel channel)
setChannel in interface CatalinaClusterpublic void setManagerTemplate(ClusterManager managerTemplate)
public void setChannelSendOptions(int channelSendOptions)
public boolean hasMembers()
CatalinaClusterhasMembers in interface CatalinaClusterpublic Member[] getMembers()
getMembers in interface CatalinaClusterpublic Member getLocalMember()
getLocalMember in interface CatalinaClusterpublic Map<String,ClusterManager> getManagers()
getManagers in interface CatalinaClusterpublic Channel getChannel()
getChannel in interface CatalinaClusterpublic ClusterManager getManagerTemplate()
public int getChannelSendOptions()
public Manager createManager(String name)
createManager in interface Clustername - Context Name of this managerCluster.createManager(java.lang.String),
LifecycleBase.start()public void registerManager(Manager manager)
ClusterregisterManager in interface Clustermanager - Managerpublic void removeManager(Manager manager)
removeManager in interface Clustermanager - ManagerCluster.removeManager(Manager)public String getManagerName(String name, Manager manager)
getManagerName in interface CatalinaClustername - manager - public Manager getManager(String name)
getManager in interface CatalinaClusterpublic void backgroundProcess()
backgroundProcess in interface ClusterFarmWarDeployer.backgroundProcess(),
GroupChannel.heartbeat(),
GroupChannel.HeartbeatThread.run()protected void initInternal()
throws LifecycleException
LifecycleMBeanBaseinitInternal in class LifecycleMBeanBaseLifecycleExceptionprotected void startInternal()
throws LifecycleException
LifecycleBase.startInternal().startInternal in class LifecycleBaseLifecycleException - if this component detects a fatal error
that prevents this component from being usedprotected void checkDefaults()
protected void registerClusterValve()
protected void unregisterClusterValve()
protected void stopInternal()
throws LifecycleException
LifecycleBase.stopInternal().stopInternal in class LifecycleBaseLifecycleException - if this component detects a fatal error
that prevents this component from being usedprotected void destroyInternal()
throws LifecycleException
LifecycleMBeanBasedestroyInternal in class LifecycleMBeanBaseLifecycleExceptionpublic String toString()
public void send(ClusterMessage msg)
send in interface CatalinaClustermsg - message to transferCatalinaCluster.send(org.apache.catalina.ha.ClusterMessage)public void send(ClusterMessage msg, Member dest)
send in interface CatalinaClustermsg - message to transferdest - Receiver memberCatalinaCluster.send(org.apache.catalina.ha.ClusterMessage,
org.apache.catalina.tribes.Member)public void memberAdded(Member member)
memberAdded in interface MembershipListenermember - Member - the member that was addedMembershipListener.memberAdded(org.apache.catalina.tribes.Member)public void memberDisappeared(Member member)
memberDisappeared in interface MembershipListenermember - MemberMembershipListener.memberDisappeared(org.apache.catalina.tribes.Member)public boolean accept(Serializable msg, Member sender)
accept in interface ChannelListenermsg - received Messagesender - Memberpublic void messageReceived(Serializable message, Member sender)
ChannelListenermessageReceived in interface ChannelListenermessage - Serializablesender - - the source of the messagepublic void messageReceived(ClusterMessage message)
public int getChannelStartOptions()
public void setChannelStartOptions(int channelStartOptions)
protected String getDomainInternal()
LifecycleMBeanBasegetDomainInternal in class LifecycleMBeanBaseprotected String getObjectNameKeyProperties()
LifecycleMBeanBaseObjectName that will be used to register this component.getObjectNameKeyProperties in class LifecycleMBeanBaseObjectNameCopyright © 2000-2015 Apache Software Foundation. All Rights Reserved.