public class SimpleTcpCluster extends LifecycleMBeanBase implements CatalinaCluster, MembershipListener, ChannelListener
Lifecycle.SingleUse
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
AFTER_MANAGERREGISTER_EVENT |
static java.lang.String |
AFTER_MANAGERUNREGISTER_EVENT |
static java.lang.String |
AFTER_MEMBERREGISTER_EVENT |
static java.lang.String |
AFTER_MEMBERUNREGISTER_EVENT |
static java.lang.String |
BEFORE_MANAGERREGISTER_EVENT |
static java.lang.String |
BEFORE_MANAGERUNREGISTER_EVENT |
static java.lang.String |
BEFORE_MEMBERREGISTER_EVENT |
static java.lang.String |
BEFORE_MEMBERUNREGISTER_EVENT |
protected Channel |
channel
Group channel.
|
protected java.util.List<ClusterListener> |
clusterListeners
Listeners of messages
|
protected java.lang.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 java.util.Map<java.lang.String,ClusterManager> |
managers
The context name <-> manager association for distributed contexts.
|
protected ClusterManager |
managerTemplate |
static java.lang.String |
RECEIVE_MESSAGE_FAILURE_EVENT |
static java.lang.String |
SEND_MESSAGE_FAILURE_EVENT |
protected static StringManager |
sm
The string manager for this package.
|
protected java.beans.PropertyChangeSupport |
support
The property change support for this component.
|
mserver
AFTER_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(java.io.Serializable msg,
Member sender)
notify all listeners from receiving a new message is not ClusterMessage
emit Failure Event to LifecycleListener
|
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(java.lang.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
|
java.lang.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 java.lang.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(java.lang.String name) |
java.lang.String |
getManagerName(java.lang.String name,
Manager manager) |
java.util.Map<java.lang.String,ClusterManager> |
getManagers() |
ClusterManager |
getManagerTemplate() |
Member[] |
getMembers()
Get all current cluster members
|
protected java.lang.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(java.io.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(java.lang.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() . |
java.lang.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, unregister
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
equals, hashCode
public static final Log log
public static final java.lang.String BEFORE_MEMBERREGISTER_EVENT
public static final java.lang.String AFTER_MEMBERREGISTER_EVENT
public static final java.lang.String BEFORE_MANAGERREGISTER_EVENT
public static final java.lang.String AFTER_MANAGERREGISTER_EVENT
public static final java.lang.String BEFORE_MANAGERUNREGISTER_EVENT
public static final java.lang.String AFTER_MANAGERUNREGISTER_EVENT
public static final java.lang.String BEFORE_MEMBERUNREGISTER_EVENT
public static final java.lang.String AFTER_MEMBERUNREGISTER_EVENT
public static final java.lang.String SEND_MESSAGE_FAILURE_EVENT
public static final java.lang.String RECEIVE_MESSAGE_FAILURE_EVENT
protected Channel channel
protected static final StringManager sm
protected java.lang.String clusterName
protected boolean heartbeatBackgroundEnabled
GroupChannel.heartbeat()
protected Container container
protected final java.beans.PropertyChangeSupport support
protected final java.util.Map<java.lang.String,ClusterManager> managers
protected ClusterManager managerTemplate
protected final java.util.List<ClusterListener> clusterListeners
protected boolean hasMembers
public boolean isHeartbeatBackgroundEnabled()
public void setHeartbeatBackgroundEnabled(boolean heartbeatBackgroundEnabled)
heartbeatBackgroundEnabled
- the heartbeatBackgroundEnabled to setpublic void setClusterName(java.lang.String clusterName)
setClusterName
in interface Cluster
clusterName
- The clustername to joinpublic java.lang.String getClusterName()
getClusterName
in interface Cluster
public void setContainer(Container container)
setContainer
in interface Cluster
container
- The Container to usepublic Container getContainer()
getContainer
in interface Cluster
public boolean isNotifyLifecycleListenerOnFailure()
public void setNotifyLifecycleListenerOnFailure(boolean notifyListenerOnFailure)
notifyListenerOnFailure
- The notifyLifecycleListenerOnFailure to set.public void addValve(Valve valve)
addValve
in interface CatalinaCluster
valve
- The new cluster Valve.public Valve[] getValves()
getValves
in interface CatalinaCluster
public ClusterListener[] findClusterListeners()
public void addClusterListener(ClusterListener listener)
addClusterListener
in interface CatalinaCluster
CatalinaCluster.addClusterListener(org.apache.catalina.ha.ClusterListener)
public void removeClusterListener(ClusterListener listener)
removeClusterListener
in interface CatalinaCluster
CatalinaCluster.removeClusterListener(org.apache.catalina.ha.ClusterListener)
public ClusterDeployer getClusterDeployer()
getClusterDeployer
in interface CatalinaCluster
public void setClusterDeployer(ClusterDeployer clusterDeployer)
setClusterDeployer
in interface CatalinaCluster
public void setChannel(Channel channel)
setChannel
in interface CatalinaCluster
public void setManagerTemplate(ClusterManager managerTemplate)
public void setChannelSendOptions(int channelSendOptions)
public boolean hasMembers()
CatalinaCluster
hasMembers
in interface CatalinaCluster
public Member[] getMembers()
getMembers
in interface CatalinaCluster
public Member getLocalMember()
getLocalMember
in interface CatalinaCluster
public java.util.Map<java.lang.String,ClusterManager> getManagers()
getManagers
in interface CatalinaCluster
public Channel getChannel()
getChannel
in interface CatalinaCluster
public ClusterManager getManagerTemplate()
public int getChannelSendOptions()
public Manager createManager(java.lang.String name)
createManager
in interface Cluster
name
- Context Name of this managerCluster.createManager(java.lang.String)
,
LifecycleBase.start()
public void registerManager(Manager manager)
Cluster
registerManager
in interface Cluster
manager
- Managerpublic void removeManager(Manager manager)
removeManager
in interface Cluster
manager
- ManagerCluster.removeManager(Manager)
public java.lang.String getManagerName(java.lang.String name, Manager manager)
getManagerName
in interface CatalinaCluster
name
- manager
- public Manager getManager(java.lang.String name)
getManager
in interface CatalinaCluster
public void backgroundProcess()
backgroundProcess
in interface Cluster
FarmWarDeployer.backgroundProcess()
,
GroupChannel.heartbeat()
,
GroupChannel.HeartbeatThread.run()
protected void initInternal() throws LifecycleException
LifecycleMBeanBase
initInternal
in class LifecycleMBeanBase
LifecycleException
protected void startInternal() throws LifecycleException
LifecycleBase.startInternal()
.startInternal
in class LifecycleBase
LifecycleException
- 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 LifecycleBase
LifecycleException
- if this component detects a fatal error
that prevents this component from being usedprotected void destroyInternal() throws LifecycleException
LifecycleMBeanBase
destroyInternal
in class LifecycleMBeanBase
LifecycleException
public java.lang.String toString()
toString
in class java.lang.Object
public void send(ClusterMessage msg)
send
in interface CatalinaCluster
msg
- message to transferCatalinaCluster.send(org.apache.catalina.ha.ClusterMessage)
public void send(ClusterMessage msg, Member dest)
send
in interface CatalinaCluster
msg
- message to transferdest
- Receiver memberCatalinaCluster.send(org.apache.catalina.ha.ClusterMessage,
org.apache.catalina.tribes.Member)
public void memberAdded(Member member)
memberAdded
in interface MembershipListener
member
- Member - the member that was addedMembershipListener.memberAdded(org.apache.catalina.tribes.Member)
public void memberDisappeared(Member member)
memberDisappeared
in interface MembershipListener
member
- MemberMembershipListener.memberDisappeared(org.apache.catalina.tribes.Member)
public boolean accept(java.io.Serializable msg, Member sender)
accept
in interface ChannelListener
msg
- received Messagesender
- Memberpublic void messageReceived(java.io.Serializable message, Member sender)
ChannelListener
messageReceived
in interface ChannelListener
message
- Serializablesender
- - the source of the messagepublic void messageReceived(ClusterMessage message)
public int getChannelStartOptions()
public void setChannelStartOptions(int channelStartOptions)
protected java.lang.String getDomainInternal()
LifecycleMBeanBase
getDomainInternal
in class LifecycleMBeanBase
protected java.lang.String getObjectNameKeyProperties()
LifecycleMBeanBase
ObjectName
that will be used to register this component.getObjectNameKeyProperties
in class LifecycleMBeanBase
ObjectName
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.