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 @@
    *          &lt;Cluster ...&gt;
    *        &lt;/Host&gt;
    * </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]

Reply via email to