Author: rjung
Date: Wed Mar 26 04:33:05 2008
New Revision: 641265
URL: http://svn.apache.org/viewvc?rev=641265&view=rev
Log:
Implement Cluster interface changes in TC 6:
- new registerManager()
- new removeManager()
Modified:
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
Modified:
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
URL:
http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java?rev=641265&r1=641264&r2=641265&view=diff
==============================================================================
---
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
(original)
+++
tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
Wed Mar 26 04:33:05 2008
@@ -552,16 +552,6 @@
} catch (Exception x) {
log.error("Unable to load class for replication manager", x);
manager = new
org.apache.catalina.cluster.session.DeltaManager();
- } finally {
- if (manager != null) {
- manager.setDistributable(true);
- if (manager instanceof ClusterManager) {
- ClusterManager cmanager = (ClusterManager) manager;
- cmanager.setDefaultMode(true);
- cmanager.setName(getManagerName(name, manager));
- cmanager.setCluster(this);
- }
- }
}
}finally {
Thread.currentThread().setContextClassLoader(oldCtxLoader);
@@ -569,6 +559,28 @@
return manager;
}
+ public void registerManager(Manager manager) {
+
+ if (! (manager instanceof ClusterManager)) {
+ log.warn("Manager [ " + manager + "] does not implement
ClusterManager, addition to cluster has been aborted.");
+ return;
+ }
+ ClusterManager cmanager = (ClusterManager) manager ;
+ cmanager.setDistributable(true);
+ // Notify our interested LifecycleListeners
+ lifecycle.fireLifecycleEvent(BEFORE_MANAGERREGISTER_EVENT, manager);
+ String clusterName = getManagerName(cmanager.getName(), manager);
+ cmanager.setName(clusterName);
+ cmanager.setCluster(this);
+// XXX: TC6 cluster has: cmanager.setDefaultMode(false);
+// XXX: Find out, which one is correct/better.
+ cmanager.setDefaultMode(true);
+
+ managers.put(clusterName, manager);
+ // Notify our interested LifecycleListeners
+ lifecycle.fireLifecycleEvent(AFTER_MANAGERREGISTER_EVENT, manager);
+ }
+
/**
* remove an application form cluster replication bus
*
@@ -585,6 +597,19 @@
// Notify our interested LifecycleListeners
lifecycle
.fireLifecycleEvent(AFTER_MANAGERUNREGISTER_EVENT,
manager);
+ }
+ }
+
+ /**
+ * remove an application form cluster replication bus
+ *
+ * @see
org.apache.catalina.ha.CatalinaCluster#removeManager(java.lang.String,Manager)
+ */
+ public void removeManager(Manager manager) {
+ if (manager != null && manager instanceof ClusterManager ) {
+ ClusterManager cmgr = (ClusterManager) manager;
+ String name = cmgr.getName();
+ removeManager(name, manager);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]