Author: fhanik
Date: Wed May 3 11:55:20 2006
New Revision: 399383
URL: http://svn.apache.org/viewcvs?rev=399383&view=rev
Log:
Don't pass start levels down that are not valid for the bottom components.
This way, interceptors can add own their own start/stop levels, and the bottom
layer would be
unaffected.
Modified:
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java
Modified:
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java
URL:
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java?rev=399383&r1=399382&r2=399383&view=diff
==============================================================================
---
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java
(original)
+++
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/ChannelCoordinator.java
Wed May 3 11:55:20 2006
@@ -120,7 +120,11 @@
protected synchronized void internalStart(int svc) throws ChannelException
{
try {
boolean valid = false;
- if (startLevel == Channel.DEFAULT) return;
+ //make sure we don't pass down any flags that are unrelated to the
bottom layer
+ svc = svc & Channel.DEFAULT;
+
+ if (startLevel == Channel.DEFAULT) return; //we have already
started up all components
+ if (svc == 0 ) return;//nothing to start
//must start the receiver first so that we can coordinate the port
it
//listens to with the local membership settings
@@ -144,7 +148,8 @@
if ( Channel.MBR_TX_SEQ==(svc & Channel.MBR_TX_SEQ) ) {
membershipService.start(MembershipService.MBR_TX);
valid = true;
- }
+ }
+
if ( !valid) {
throw new IllegalArgumentException("Invalid start level, valid
levels are:SND_RX_SEQ,SND_TX_SEQ,MBR_TX_SEQ,MBR_RX_SEQ");
}
@@ -169,8 +174,13 @@
*/
protected synchronized void internalStop(int svc) throws ChannelException {
try {
+ //make sure we don't pass down any flags that are unrelated to the
bottom layer
+ svc = svc & Channel.DEFAULT;
+
+ if (startLevel == 0) return; //we have already stopped up all
components
+ if (svc == 0 ) return;//nothing to stop
+
boolean valid = false;
- if ( startLevel == 0 ) return;
if ( Channel.SND_RX_SEQ==(svc & Channel.SND_RX_SEQ) ) {
clusterReceiver.stop();
clusterReceiver.setMessageListener(null);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]