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]