pero 2005/07/01 09:51:14 Modified: modules/cluster/src/share/org/apache/catalina/cluster/tcp SimpleTcpCluster.java mbeans-descriptors.xml Log: Fix that some elements receiver, sender, membership are empty Add sendClusterDomain as jmx operation add docs Revision Changes Path 1.69 +76 -59 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.68 retrieving revision 1.69 diff -u -r1.68 -r1.69 --- SimpleTcpCluster.java 30 Jun 2005 13:03:34 -0000 1.68 +++ SimpleTcpCluster.java 1 Jul 2005 16:51:14 -0000 1.69 @@ -68,8 +68,7 @@ * receiver/sender. * * FIXME remove install/remove/start/stop context dummys - * - * FIXME wrote testcases FIXME Propertychange support + * FIXME wrote testcases * * @author Filip Hanik * @author Remy Maucherat @@ -678,7 +677,6 @@ getClusterLog(); // Notify our interested LifecycleListeners lifecycle.fireLifecycleEvent(BEFORE_START_EVENT, this); - try { if(isDefaultMode() && valves.size() == 0) { createDefaultClusterValves() ; @@ -698,36 +696,39 @@ createDefaultClusterSender(); } // start the receiver. - clusterReceiver.setSendAck(clusterSender.isWaitForAck()); - clusterReceiver.setCompress(clusterSender.isCompress()); - clusterReceiver.setCatalinaCluster(this); - clusterReceiver.start(); + if(clusterReceiver != null) { + clusterReceiver.setSendAck(clusterSender.isWaitForAck()); + clusterReceiver.setCompress(clusterSender.isCompress()); + clusterReceiver.setCatalinaCluster(this); + clusterReceiver.start(); + } else // start the sender. - clusterSender.setCatalinaCluster(this); - clusterSender.start(); + if(clusterSender != null && clusterReceiver != null) { + clusterSender.setCatalinaCluster(this); + clusterSender.start(); + } // start the membership service. if(isDefaultMode() && membershipService == null) { createDefaultMembershipService(); } - membershipService.setLocalMemberProperties(clusterReceiver - .getHost(), clusterReceiver.getPort()); - membershipService.addMembershipListener(this); - membershipService.setCatalinaCluster(this); - membershipService.start(); - // start the deployer. - try { - if (clusterDeployer != null) { - clusterDeployer.setCluster(this); - clusterDeployer.start(); + if(membershipService != null && clusterReceiver != null) { + membershipService.setLocalMemberProperties(clusterReceiver + .getHost(), clusterReceiver.getPort()); + membershipService.addMembershipListener(this); + membershipService.setCatalinaCluster(this); + membershipService.start(); + // start the deployer. + try { + if (clusterDeployer != null) { + clusterDeployer.setCluster(this); + clusterDeployer.start(); + } + } catch (Throwable x) { + log.fatal("Unable to retrieve the container deployer. Cluster deployment disabled.",x); } - } catch (Throwable x) { - log - .fatal( - "Unable to retrieve the container deployer. Cluster deployment disabled.", - x); } this.started = true; // Notify our interested LifecycleListeners @@ -739,13 +740,15 @@ } /** - * + * Create default membership service: + * <pre> * <Membership * className="org.apache.catalina.cluster.mcast.McastService" * mcastAddr="228.0.0.4" * mcastPort="8012" * mcastFrequency="500" * mcastDropTime="3000"/> + * </pre> */ protected void createDefaultMembershipService() { if (log.isInfoEnabled()) { @@ -765,13 +768,14 @@ /** - * <code> + * Create default cluster sender + * <pre> * <Sender - * className="org.apache.catalina.cluster.tcp.ReplicationTransmitter" - * replicationMode="fastasyncqueue" - * doTransmitterProcessingStats="true" - * doProcessingStats="true"/> - * </code> + * className="org.apache.catalina.cluster.tcp.ReplicationTransmitter" + * replicationMode="fastasyncqueue" + * doTransmitterProcessingStats="true" + * doProcessingStats="true"/> + * </pre> */ protected void createDefaultClusterSender() { if (log.isInfoEnabled()) { @@ -788,15 +792,16 @@ } /** - * <code> + * Create default receiver: + * <pre> * <Receiver - * className="org.apache.catalina.cluster.tcp.SocketReplicationListener" - * tcpListenAddress="auto" - * tcpListenPort="8015" - * tcpListenMaxPort="8019" - * doReceivedProcessingStats="true" + * className="org.apache.catalina.cluster.tcp.SocketReplicationListener" + * tcpListenAddress="auto" + * tcpListenPort="8015" + * tcpListenMaxPort="8019" + * doReceivedProcessingStats="true" * /> - * </code> + * </pre> */ protected void createDefaultClusterReceiver() { if (log.isInfoEnabled()) { @@ -815,10 +820,11 @@ } /** - * <code> + * Create default session cluster listener: + * <pre> * <ClusterListener * className="org.apache.catalina.cluster.session.ClusterSessionListener" /> - * </code> + * </pre> */ protected void createDefaultClusterListener() { if (log.isInfoEnabled()) { @@ -833,12 +839,13 @@ } /** - * <code> + * Create default ReplicationValve + * <pre> * <Valve * className="org.apache.catalina.cluster.tcp.ReplicationValve" * filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;" * primaryIndicator="true" /> - * </code> + * </pre> */ protected void createDefaultClusterValves() { if (log.isInfoEnabled()) { @@ -855,6 +862,7 @@ } /** + * register all cluster valve to host or engine * @throws Exception * @throws ClassNotFoundException */ @@ -876,6 +884,7 @@ } /** + * unregister all cluster valve to host or engine * @throws Exception * @throws ClassNotFoundException */ @@ -897,11 +906,11 @@ } /** - * Gracefully terminate the active use of the public methods of this - * component. This method should be the last one called on a given instance - * of this component. <BR> - * This will disconnect the cluster communication channel and stop the - * listener thread. + * Gracefully terminate the active cluster component.<br/> + * This will disconnect the cluster communication channel, stop the + * listener and deregister the valves from host or engine.<br/><br/> + * <b>Note:</b><br/>The sub elements receiver, sender, membership, + * listener or valves are not removed. You can easily start the cluster again. * * @exception IllegalStateException * if this component has not been started @@ -919,18 +928,24 @@ if (clusterDeployer != null) { clusterDeployer.stop(); } - membershipService.stop(); - membershipService.removeMembershipListener(); - try { - clusterSender.stop(); - } catch (Exception x) { - log.error("Unable to stop cluster sender.", x); + if(membershipService != null) { + membershipService.stop(); + membershipService.removeMembershipListener(); } - try { - clusterReceiver.stop(); - clusterReceiver.setCatalinaCluster(null); - } catch (Exception x) { - log.error("Unable to stop cluster receiver.", x); + if(clusterSender != null) { + try { + clusterSender.stop(); + } catch (Exception x) { + log.error("Unable to stop cluster sender.", x); + } + } + if(clusterReceiver != null ){ + try { + clusterReceiver.stop(); + clusterReceiver.setCatalinaCluster(null); + } catch (Exception x) { + log.error("Unable to stop cluster receiver.", x); + } } unregisterMBeans(); try { @@ -1160,6 +1175,7 @@ } /** + * log received message to cluster transfer log * @param message * @param start * @param accepted @@ -1177,6 +1193,7 @@ } /** + * log sended message to cluster transfer log * @param message * @param start * @param dest 1.13 +10 -1 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml Index: mbeans-descriptors.xml =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- mbeans-descriptors.xml 26 Jun 2005 21:21:50 -0000 1.12 +++ mbeans-descriptors.xml 1 Jul 2005 16:51:14 -0000 1.13 @@ -31,7 +31,7 @@ description="enable cluster log transfer logging" type="boolean"/> <operation name="setProperty" - description="set a property to all cluster managers" + description="set a property to all cluster managers (with prefix 'manager.')" impact="ACTION" returnType="void"> <parameter name="key" @@ -50,6 +50,15 @@ description="replication message" type="org.apache.catalina.cluster.ClusterMessage"/> </operation> + + <operation name="sendClusterDomain" + description="send message to all cluster members with same domain" + impact="ACTION" + returnType="void"> + <parameter name="message" + description="replication message" + type="org.apache.catalina.cluster.ClusterMessage"/> + </operation> <operation name="sendToMember" description="send message to one cluster member"
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]