org.apache.catalina.ha.tcp
public class SimpleTcpCluster extends Object implements CatalinaCluster, Lifecycle, LifecycleListener, IDynamicProperty, MembershipListener, ChannelListener
Version: $Revision: 697040 $, $Date: 2008-09-19 12:39:02 +0200 (Fri, 19 Sep 2008) $
Field Summary | |
---|---|
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 String | clusterImpName
Name for logging purpose |
protected List | 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 |
protected static String | info
Descriptive information about this component implementation. |
protected LifecycleSupport | lifecycle
The lifecycle event support for this component. |
static Log | log |
protected Map | managers
The context name <->manager association for distributed contexts. |
protected ClusterManager | managerTemplate |
static String | RECEIVE_MESSAGE_FAILURE_EVENT |
protected StringManager | sm
The string manager for this package. |
protected boolean | started
Has this component been started? |
protected PropertyChangeSupport | support
The property change support for this component. |
static String | SEND_MESSAGE_FAILURE_EVENT |
Constructor Summary | |
---|---|
SimpleTcpCluster() |
Method Summary | |
---|---|
boolean | accept(Serializable msg, Member sender)
notify all listeners from receiving a new message is not ClusterMessage
emitt Failure Event to LifecylceListener
|
void | addClusterListener(ClusterListener listener)
add cluster message listener and register cluster to this listener
|
void | addLifecycleListener(LifecycleListener listener)
Add a lifecycle event listener to this component.
|
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)
|
ClusterListener[] | findClusterListeners()
Get the cluster listeners associated with this cluster. |
LifecycleListener[] | findLifecycleListeners()
Get the lifecycle listeners associated with this lifecycle. |
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
|
String | getInfo()
Return descriptive information about this Cluster implementation and the
corresponding version number, in the format
<description>/<version> . |
Member | getLocalMember()
Return the member that represents this node.
|
Log | getLogger() |
Manager | getManager(String name) |
String | getManagerClassName() |
String | getManagerName(String name, Manager manager) |
Map | getManagers() |
ClusterManager | getManagerTemplate() |
Member[] | getMembers()
Get all current cluster members |
Object | getProperty(String key)
get current config
|
Iterator | getPropertyNames()
Get all properties keys
|
String | getProtocol() |
Valve[] | getValves()
get all cluster valves |
boolean | hasMembers() |
boolean | isHeartbeatBackgroundEnabled()
Return heartbeat enable flag (default false) |
boolean | isNotifyLifecycleListenerOnFailure() |
void | lifecycleEvent(LifecycleEvent lifecycleEvent)
Use as base to handle start/stop/periodic Events from host. |
void | memberAdded(Member member)
New cluster member is registered
|
void | memberDisappeared(Member member)
Cluster member is gone
|
void | messageReceived(Serializable message, Member sender) |
void | messageReceived(ClusterMessage message) |
protected void | registerClusterValve()
register all cluster valve to host or engine |
void | registerManager(Manager manager) |
void | removeClusterListener(ClusterListener listener)
remove message listener and deregister Cluster from listener
|
void | removeLifecycleListener(LifecycleListener listener)
Remove a lifecycle event listener from this component.
|
void | removeManager(Manager manager)
remove an application form cluster replication bus
|
void | removeProperty(String key)
remove a configured property.
|
void | send(ClusterMessage msg)
send message to all cluster members |
void | send(ClusterMessage msg, Member dest)
send a cluster message to one member
|
void | sendClusterDomain(ClusterMessage msg)
send message to all cluster members same cluster domain
|
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 | setManagerClassName(String managerClassName) |
void | setManagerTemplate(ClusterManager managerTemplate) |
void | setNotifyLifecycleListenerOnFailure(boolean notifyListenerOnFailure) |
boolean | setProperty(String name, String value)
JMX hack to direct use at jconsole
|
boolean | setProperty(String name, Object value)
set config attributes with reflect and propagate to all managers
|
void | setProtocol(String protocol) |
void | start()
Prepare for the beginning of active use of the public methods of this
component. |
void | stop()
Gracefully terminate the active cluster component. This will disconnect the cluster communication channel, stop the listener and deregister the valves from host or engine. Note: The sub elements receiver, sender, membership, listener or valves are not removed. |
protected void | transferProperty(String prefix, Object bean)
transfer properties from cluster configuration to subelement bean. |
protected void | unregisterClusterValve()
unregister all cluster valve to host or engine |
See Also: heartbeat
Parameters: message receveived Message
See Also: CatalinaCluster
Parameters: listener The listener to add
Parameters: valve The new cluster Valve.
See Also: backgroundProcess heartbeat
Parameters: name Context Name of this manager
See Also: Cluster SimpleTcpCluster start
Returns: The name of the cluster associated with this server
Returns: The Container associated with our Cluster
<description>/<version>
.Returns: Member
Deprecated: use getManagerTemplate().getClass().getName() instead.
Returns: String
Parameters: name manager
Returns:
Returns: Returns the managers.
Returns: all members or empty array
Parameters: key
Returns: The property
Returns: An iterator over the property names.
See Also: getProtocol
Returns: current cluster valves
Returns: the heartbeatBackgroundEnabled
Returns: Returns the notifyLifecycleListenerOnFailure.
See Also: lifecycleEvent
See Also: org.apache.catalina.ha.MembershipListener#memberAdded(org.apache.catalina.ha.Member)
See Also: org.apache.catalina.ha.MembershipListener#memberDisappeared(org.apache.catalina.ha.Member)
Throws: Exception ClassNotFoundException
See Also: CatalinaCluster
Parameters: listener The listener to remove
See Also: CatalinaCluster
Parameters: key
Parameters: msg message to transfer
See Also: send
Parameters: msg message to transfer dest Receiver member
See Also: CatalinaCluster
See Also: send
Parameters: clusterName The clustername to join
Parameters: container The Container to use
Parameters: heartbeatBackgroundEnabled the heartbeatBackgroundEnabled to set
Deprecated: use nested <Manager> element inside the cluster config instead.
Parameters: managerClassName String
Parameters: notifyListenerOnFailure The notifyLifecycleListenerOnFailure to set.
Parameters: name value
Parameters: name value
See Also: Cluster
configure()
,
and before any of the public methods of the component are utilized. Throws: IllegalStateException if this component has already been started LifecycleException if this component detects a fatal error that prevents this component from being used
Throws: IllegalStateException if this component has not been started LifecycleException if this component detects a fatal error that needs to be reported
Parameters: prefix bean
Throws: Exception ClassNotFoundException