Author: markt
Date: Sat Jan 15 16:33:05 2011
New Revision: 1059366
URL: http://svn.apache.org/viewvc?rev=1059366&view=rev
Log:
Refactor to make clearer what is going on
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java?rev=1059366&r1=1059365&r2=1059366&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
(original)
+++
tomcat/trunk/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
Sat Jan 15 16:33:05 2011
@@ -547,7 +547,7 @@ public class McastServiceImpl
try { Thread.sleep(500); } catch ( Exception
ignore ){}
if ( (++errorCounter)>=recoveryCounter ) {
errorCounter=0;
- new
RecoveryThread(McastServiceImpl.this).start();
+ RecoveryThread.recover(McastServiceImpl.this);
}
}
}
@@ -575,7 +575,7 @@ public class McastServiceImpl
else log.debug("Unable to send mcast message.",x);
if ( (++errorCounter)>=recoveryCounter ) {
errorCounter=0;
- new RecoveryThread(McastServiceImpl.this).start();
+ RecoveryThread.recover(McastServiceImpl.this);
}
}
try { Thread.sleep(time); } catch ( Exception ignore ) {}
@@ -585,22 +585,27 @@ public class McastServiceImpl
protected static class RecoveryThread extends Thread {
static volatile boolean running = false;
- McastServiceImpl parent = null;
- public RecoveryThread(McastServiceImpl parent) {
- this.parent = parent;
- if (!init(this)) parent = null;
- }
-
- public static synchronized boolean init(RecoveryThread t) {
- if ( running ) return false;
- if ( !t.parent.isRecoveryEnabled()) return false;
+
+ public static synchronized void recover(McastServiceImpl parent) {
+ if (running) return;
+ if (!parent.isRecoveryEnabled())
+ return;
+
running = true;
+
+ Thread t = new RecoveryThread(parent);
+
t.setName("Tribes-MembershipRecovery");
t.setDaemon(true);
t.start();
- return true;
}
+
+ McastServiceImpl parent = null;
+ public RecoveryThread(McastServiceImpl parent) {
+ this.parent = parent;
+ }
+
public boolean stopService() {
try {
parent.stop(Channel.MBR_RX_SEQ | Channel.MBR_TX_SEQ);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]