pero 2005/06/30 06:03:35
Modified: modules/cluster/src/share/org/apache/catalina/cluster/mcast
McastService.java McastServiceImpl.java
modules/cluster/src/share/org/apache/catalina/cluster/session
JvmRouteBinderValve.java
JvmRouteSessionIDBinderLifecycleListener.java
modules/cluster/src/share/org/apache/catalina/cluster/tcp
ClusterReceiverBase.java
ReplicationTransmitter.java ReplicationValve.java
SimpleTcpCluster.java
Log:
Support Cluster as Engine Element
Revision Changes Path
1.16 +10 -7
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java
Index: McastService.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastService.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- McastService.java 26 Jun 2005 21:21:49 -0000 1.15
+++ McastService.java 30 Jun 2005 13:03:02 -0000 1.16
@@ -22,10 +22,12 @@
import javax.management.ObjectName;
import org.apache.catalina.Cluster;
+import org.apache.catalina.Container;
import org.apache.catalina.cluster.Member;
import org.apache.catalina.cluster.MembershipListener;
import org.apache.catalina.cluster.MembershipService;
import org.apache.catalina.cluster.tcp.SimpleTcpCluster;
+import org.apache.catalina.core.StandardHost;
import org.apache.catalina.util.StringManager;
import org.apache.commons.modeler.Registry;
@@ -351,15 +353,16 @@
try {
MBeanServer mserver = cluster.getMBeanServer();
initMBeans();
- ObjectName mcastName = new ObjectName(clusterName
- .getDomain()
- + ":type=ClusterMembership,host="
- + clusterName.getKeyProperty("host"));
+ Container container = cluster.getContainer();
+ String name = clusterName.getDomain() +
":type=ClusterMembership";
+ if (container instanceof StandardHost) {
+ name += ",host=" + clusterName.getKeyProperty("host");
+ }
+ ObjectName mcastName = new ObjectName(name);
if (mserver.isRegistered(mcastName)) {
if (log.isWarnEnabled())
log.warn(sm.getString(
- "cluster.mbean.register.allready",
- mcastName));
+ "cluster.mbean.register.allready",
mcastName));
return;
}
setObjectName(mcastName);
1.16 +7 -2
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java
Index: McastServiceImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- McastServiceImpl.java 9 Jun 2005 20:37:33 -0000 1.15
+++ McastServiceImpl.java 30 Jun 2005 13:03:02 -0000 1.16
@@ -210,11 +210,16 @@
if(log.isDebugEnabled())
log.debug("Mcast receive ping from member " + m);
if ( membership.memberAlive(m) ) {
+ if(log.isDebugEnabled())
+ log.debug("Mcast add member " + m);
service.memberAdded(m);
}
McastMember[] expired = membership.expire(timeToExpiration);
- for ( int i=0; i<expired.length; i++)
+ for ( int i=0; i<expired.length; i++) {
+ if(log.isDebugEnabled())
+ log.debug("Mcast exipre member " + m);
service.memberDisappeared(expired[i]);
+ }
}
/**
1.11 +10 -5
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteBinderValve.java
Index: JvmRouteBinderValve.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteBinderValve.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- JvmRouteBinderValve.java 26 Jun 2005 21:21:49 -0000 1.10
+++ JvmRouteBinderValve.java 30 Jun 2005 13:03:21 -0000 1.11
@@ -193,10 +193,15 @@
ServletException {
if (getEnabled()
- && getCluster() != null
- && request.getContext() != null
- && request.getContext().getDistributable() ) {
- handlePossibleTurnover(request, response);
+ && getCluster() != null
+ && request.getContext() != null
+ && request.getContext().getDistributable() ) {
+ // valve cluster can access manager - other cluster handle
turnover
+ // at host level - hopefully!
+ Manager manager = request.getContext().getManager();
+ if (manager != null && manager instanceof ClusterManager
+ &&
getCluster().getManager(((ClusterManager)manager).getName()) != null)
+ handlePossibleTurnover(request, response);
}
// Pass this request on to the next valve in our pipeline
getNext().invoke(request, response);
1.5 +1 -0
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderLifecycleListener.java
Index: JvmRouteSessionIDBinderLifecycleListener.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/session/JvmRouteSessionIDBinderLifecycleListener.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JvmRouteSessionIDBinderLifecycleListener.java 26 Jun 2005 21:21:49
-0000 1.4
+++ JvmRouteSessionIDBinderLifecycleListener.java 30 Jun 2005 13:03:21
-0000 1.5
@@ -44,6 +44,7 @@
* <Cluster ...>
* </Host>
* </pre>
+ * FIXME add Engine support
* @deprecated
* @author Peter Rossbach
*/
1.6 +9 -5
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
Index: ClusterReceiverBase.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ClusterReceiverBase.java 26 Jun 2005 21:21:50 -0000 1.5
+++ ClusterReceiverBase.java 30 Jun 2005 13:03:34 -0000 1.6
@@ -25,12 +25,14 @@
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.apache.catalina.Container;
import org.apache.catalina.cluster.CatalinaCluster;
import org.apache.catalina.cluster.ClusterMessage;
import org.apache.catalina.cluster.ClusterReceiver;
import org.apache.catalina.cluster.io.ListenCallback;
import org.apache.catalina.cluster.session.ClusterSessionListener;
import org.apache.catalina.cluster.session.ReplicationStream;
+import org.apache.catalina.core.StandardHost;
import org.apache.catalina.util.StringManager;
/**
@@ -330,10 +332,12 @@
ObjectName clusterName = scluster.getObjectName();
try {
MBeanServer mserver = scluster.getMBeanServer();
- ObjectName receiverName = new ObjectName(clusterName
- .getDomain()
- + ":type=ClusterReceiver,host="
- + clusterName.getKeyProperty("host"));
+ Container container = cluster.getContainer();
+ String name = clusterName.getDomain() +
":type=ClusterReceiver";
+ if (container instanceof StandardHost) {
+ name += ",host=" + clusterName.getKeyProperty("host");
+ }
+ ObjectName receiverName = new ObjectName(name);
if (mserver.isRegistered(receiverName)) {
if (log.isWarnEnabled())
log.warn(sm.getString(
1.35 +15 -10
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java
Index: ReplicationTransmitter.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- ReplicationTransmitter.java 26 Jun 2005 21:21:50 -0000 1.34
+++ ReplicationTransmitter.java 30 Jun 2005 13:03:34 -0000 1.35
@@ -27,10 +27,12 @@
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.apache.catalina.Container;
import org.apache.catalina.cluster.ClusterMessage;
import org.apache.catalina.cluster.ClusterSender;
import org.apache.catalina.cluster.Member;
import org.apache.catalina.cluster.util.IDynamicProperty;
+import org.apache.catalina.core.StandardHost;
import org.apache.catalina.util.StringManager;
import org.apache.tomcat.util.IntrospectionUtils;
import org.apache.tomcat.util.digester.SetTopRule;
@@ -517,10 +519,12 @@
ObjectName clusterName = cluster.getObjectName();
try {
MBeanServer mserver = cluster.getMBeanServer();
- ObjectName transmitterName = new ObjectName(clusterName
- .getDomain()
- + ":type=ClusterSender,host="
- + clusterName.getKeyProperty("host"));
+ Container container = cluster.getContainer();
+ String name = clusterName.getDomain() +
":type=ClusterSender";
+ if (container instanceof StandardHost) {
+ name += ",host=" + clusterName.getKeyProperty("host");
+ }
+ ObjectName transmitterName = new ObjectName(name);
if (mserver.isRegistered(transmitterName)) {
if (log.isWarnEnabled())
log.warn(sm.getString(
@@ -535,7 +539,6 @@
log.warn(e);
}
}
-
}
/*
@@ -776,10 +779,12 @@
ObjectName senderName = null;
try {
ObjectName clusterName = cluster.getObjectName();
- MBeanServer mserver = cluster.getMBeanServer();
- senderName = new ObjectName(clusterName.getDomain()
- + ":type=IDataSender,host="
- + clusterName.getKeyProperty("host") + ",senderAddress="
+ Container container = cluster.getContainer();
+ String name = clusterName.getDomain() + ":type=IDataSender";
+ if (container instanceof StandardHost) {
+ name += ",host=" + clusterName.getKeyProperty("host");
+ }
+ senderName = new ObjectName(name + ",senderAddress="
+ sender.getAddress().getHostAddress() + ",senderPort="
+ sender.getPort());
} catch (Exception e) {
1.23 +5 -1
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationValve.java
Index: ReplicationValve.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationValve.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- ReplicationValve.java 9 Jun 2005 20:37:33 -0000 1.22
+++ ReplicationValve.java 30 Jun 2005 13:03:34 -0000 1.23
@@ -259,6 +259,10 @@
log.warn(sm.getString("ReplicationValve.nocluster"));
return;
}
+ // valve cluster can access manager - other clusterhandle
replication
+ // at host level - hopefully!
+ if(cluster.getManager(clusterManager.getName()) == null)
+ return ;
if(cluster.getMembers().length > 0 ) {
try {
// send invalid sessions
1.68 +11 -1
jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java
Index: SimpleTcpCluster.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SimpleTcpCluster.java,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -r1.67 -r1.68
--- SimpleTcpCluster.java 26 Jun 2005 21:21:50 -0000 1.67
+++ SimpleTcpCluster.java 30 Jun 2005 13:03:34 -0000 1.68
@@ -52,6 +52,7 @@
import org.apache.catalina.cluster.session.ClusterSessionListener;
import org.apache.catalina.cluster.session.DeltaManager;
import org.apache.catalina.cluster.util.IDynamicProperty;
+import org.apache.catalina.core.StandardEngine;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.util.LifecycleSupport;
import org.apache.catalina.util.StringManager;
@@ -478,6 +479,11 @@
properties.remove(key);
}
+ /**
+ * transfer properties from cluster configuration to subelement bean.
+ * @param prefix
+ * @param bean
+ */
protected void transferProperty(String prefix, Object bean) {
if (prefix != null) {
for (Iterator iter = getPropertyNames(); iter.hasNext();) {
@@ -1209,6 +1215,10 @@
if (container instanceof StandardHost) {
domain = ((StandardHost) container).getDomain();
name += ",host=" + container.getName();
+ } else {
+ if (container instanceof StandardEngine) {
+ domain = ((StandardEngine) container).getDomain();
+ }
}
ObjectName clusterName = new ObjectName(domain + name);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]