// ------------------------------------------------------------- Properties
public SimpleTcpCluster() {
+ // NO-OP
}
/**
* corresponding version number, in the format
* <code><description>/<version></code>.
*/
+ @Override
public String getInfo() {
return (info);
}
* @param clusterName
* The clustername to join
*/
+ @Override
public void setClusterName(String clusterName) {
this.clusterName = clusterName;
}
*
* @return The name of the cluster associated with this server
*/
+ @Override
public String getClusterName() {
if(clusterName == null && container != null)
return container.getName() ;
* @param container
* The Container to use
*/
+ @Override
public void setContainer(Container container) {
Container oldContainer = this.container;
this.container = container;
*
* @return The Container associated with our Cluster
*/
+ @Override
public Container getContainer() {
return (this.container);
}
* @param managerClassName String
*/
@Deprecated
- public void setManagerClassName(String managerClassName) {
- log.warn("setManagerClassName is deprecated, use nested <Manager> element inside the <Cluster> element instead, this request will be ignored.");
+ public void setManagerClassName(
+ @SuppressWarnings("unused") String managerClassName) {
+ log.warn("setManagerClassName is deprecated, use nested <Manager> " +
+ "element inside the <Cluster> element instead, this request " +
+ "will be ignored.");
}
/**
* Cluster Valves are only add to container when cluster is started!
* @param valve The new cluster Valve.
*/
+ @Override
public void addValve(Valve valve) {
if (valve instanceof ClusterValve && (!valves.contains(valve)))
valves.add(valve);
* get all cluster valves
* @return current cluster valves
*/
+ @Override
public Valve[] getValves() {
return valves.toArray(new Valve[valves.size()]);
}
*
* @see org.apache.catalina.ha.CatalinaCluster#addClusterListener(org.apache.catalina.ha.ClusterListener)
*/
+ @Override
public void addClusterListener(ClusterListener listener) {
if (listener != null && !clusterListeners.contains(listener)) {
clusterListeners.add(listener);
*
* @see org.apache.catalina.ha.CatalinaCluster#removeClusterListener(org.apache.catalina.ha.ClusterListener)
*/
+ @Override
public void removeClusterListener(ClusterListener listener) {
if (listener != null) {
clusterListeners.remove(listener);
/**
* get current Deployer
*/
+ @Override
public org.apache.catalina.ha.ClusterDeployer getClusterDeployer() {
return clusterDeployer;
}
/**
* set a new Deployer, must be set before cluster started!
*/
+ @Override
public void setClusterDeployer(
org.apache.catalina.ha.ClusterDeployer clusterDeployer) {
this.clusterDeployer = clusterDeployer;
}
+ @Override
public void setChannel(Channel channel) {
this.channel = channel;
}
* has members
*/
protected boolean hasMembers = false;
+ @Override
public boolean hasMembers() {
return hasMembers;
}
* Get all current cluster members
* @return all members or empty array
*/
+ @Override
public Member[] getMembers() {
return channel.getMembers();
}
*
* @return Member
*/
+ @Override
public Member getLocalMember() {
return channel.getLocalMember(true);
}
* @param name
* @param value
*/
+ @Override
public boolean setProperty(String name, Object value) {
if (log.isTraceEnabled())
log.trace(sm.getString("SimpleTcpCluster.setProperty", name, value,properties.get(name)));
* @param key
* @return The property
*/
+ @Override
public Object getProperty(String key) {
if (log.isTraceEnabled())
log.trace(sm.getString("SimpleTcpCluster.getProperty", key));
*
* @return An iterator over the property names.
*/
+ @Override
public Iterator<String> getPropertyNames() {
return properties.keySet().iterator();
}
*
* @param key
*/
+ @Override
public void removeProperty(String key) {
properties.remove(key);
}
/**
* @return Returns the managers.
*/
+ @Override
public Map<String, ClusterManager> getManagers() {
return managers;
}
+ @Override
public Channel getChannel() {
return channel;
}
* @see org.apache.catalina.Cluster#createManager(java.lang.String)
* @see DeltaManager#start()
*/
+ @Override
public synchronized Manager createManager(String name) {
if (log.isDebugEnabled()) log.debug("Creating ClusterManager for context " + name + " using class " + getManagerClassName());
Manager manager = null;
return manager;
}
+ @Override
public void registerManager(Manager manager) {
if (! (manager instanceof ClusterManager)) {
* @param manager
* @return TODO
*/
+ @Override
public String getManagerName(String name, Manager manager) {
String clusterName = name ;
if ( clusterName == null ) clusterName = manager.getContainer().getName();
*
* @see org.apache.catalina.ha.CatalinaCluster#getManager(java.lang.String)
*/
+ @Override
public Manager getManager(String name) {
return managers.get(name);
}
* @see org.apache.catalina.tribes.group.GroupChannel.HeartbeatThread#run()
*
*/
+ @Override
public void backgroundProcess() {
if (clusterDeployer != null) clusterDeployer.backgroundProcess();
*
* @see org.apache.catalina.LifecycleListener#lifecycleEvent(org.apache.catalina.LifecycleEvent)
*/
+ @Override
public void lifecycleEvent(LifecycleEvent lifecycleEvent) {
if (log.isTraceEnabled())
log.trace(sm.getString("SimpleTcpCluster.event.log", lifecycleEvent.getType(), lifecycleEvent.getData()));
new Object[] { valve },
new Class[] { org.apache.catalina.Valve.class });
+ valve.setCluster(this);
}
- valve.setCluster(this);
}
}
}
log.debug("Invoking removeValve on " + getContainer()
+ " with class=" + valve.getClass().getName());
if (valve != null) {
- IntrospectionUtils.callMethodN(getContainer(), "removeValve",
- new Object[] { valve }, new Class[] { org.apache.catalina.Valve.class });
+ IntrospectionUtils.callMethodN(getContainer(), "removeValve",
+ new Object[] { valve },
+ new Class[] { org.apache.catalina.Valve.class });
+ valve.setCluster(this);
}
- valve.setCluster(this);
}
}
*
* @see org.apache.catalina.ha.CatalinaCluster#send(org.apache.catalina.ha.ClusterMessage)
*/
+ @Override
public void send(ClusterMessage msg) {
send(msg, null);
}
* @see org.apache.catalina.ha.CatalinaCluster#send(org.apache.catalina.ha.ClusterMessage,
* org.apache.catalina.tribes.Member)
*/
+ @Override
public void send(ClusterMessage msg, Member dest) {
try {
msg.setAddress(getLocalMember());
*
* @see org.apache.catalina.tribes.MembershipListener#memberAdded(org.apache.catalina.tribes.Member)
*/
+ @Override
public void memberAdded(Member member) {
try {
hasMembers = channel.hasMembers();
*
* @see org.apache.catalina.tribes.MembershipListener#memberDisappeared(org.apache.catalina.tribes.Member)
*/
+ @Override
public void memberDisappeared(Member member) {
try {
hasMembers = channel.hasMembers();
* @param msg
* received Message
*/
+ @Override
public boolean accept(Serializable msg, Member sender) {
return (msg instanceof ClusterMessage);
}
+ @Override
public void messageReceived(Serializable message, Member sender) {
ClusterMessage fwd = (ClusterMessage)message;
fwd.setAddress(sender);
//invoke all the listeners
boolean accepted = false;
if (message != null) {
- for (Iterator<ClusterListener> iter = clusterListeners.iterator(); iter.hasNext();) {
+ for (Iterator<ClusterListener> iter = clusterListeners.iterator();
+ iter.hasNext();) {
ClusterListener listener = iter.next();
if (listener.accept(message)) {
accepted = true;
listener.messageReceived(message);
}
}
- }
- if (!accepted && log.isDebugEnabled()) {
- if (notifyLifecycleListenerOnFailure) {
+ if (!accepted && notifyLifecycleListenerOnFailure) {
Member dest = message.getAddress();
// Notify our interested LifecycleListeners
fireLifecycleEvent(RECEIVE_MESSAGE_FAILURE_EVENT,
new SendMessageData(message, dest, null));
+ if (log.isDebugEnabled()) {
+ log.debug("Message " + message.toString() + " from type "
+ + message.getClass().getName()
+ + " transfered but no listener registered");
+ }
}
- log.debug("Message " + message.toString() + " from type "
- + message.getClass().getName()
- + " transfered but no listener registered");
}
return;
}
// --------------------------------------------------------- Logger
+ @Override
public Log getLogger() {
return log;
}
*
* @see org.apache.catalina.Cluster#setProtocol(java.lang.String)
*/
+ @Override
public void setProtocol(String protocol) {
+ // NO-OP
}
/**
* @see org.apache.catalina.Cluster#getProtocol()
*/
+ @Override
public String getProtocol() {
return null;
}