Author: kfujino
Date: Tue Oct 27 07:40:22 2015
New Revision: 1710728

URL: http://svn.apache.org/viewvc?rev=1710728&view=rev
Log:
When starting the staticMembershipInterceptor, staticMembershipInterceptor 
checks the required Interceptors.
If the required Interceptor does not exist, it issues a warning log.

Modified:
    
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
    
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties?rev=1710728&r1=1710727&r2=1710728&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/LocalStrings.properties
 Tue Oct 27 07:40:22 2015
@@ -32,6 +32,8 @@ nonBlockingCoordinator.memberDisappeared
 nonBlockingCoordinator.heartbeat.inconsistency=Heartbeat found inconsistency, 
restart election
 nonBlockingCoordinator.heartbeat.failed=Unable to perform heartbeat.
 orderInterceptor.messageAdded.sameCounter=Message added has the same counter, 
synchronization bug. Disable the order interceptor
+staticMembershipInterceptor.no.failureDetector=There is no TcpFailureDetector. 
Automatic detection of static members does not work properly. By defining the 
StaticMembershipInterceptor under the TcpFailureDetector, automatic detection 
of the static members will work.
+staticMembershipInterceptor.no.pingInterceptor=There is no TcpPingInterceptor. 
The health check of static members does not work properly. By defining the 
TcpPingInterceptor, the health check of static members will work.
 tcpFailureDetector.memberDisappeared.verify=Received memberDisappeared[{0}] 
message. Will verify.
 tcpFailureDetector.already.disappeared=Verification complete. Member already 
disappeared[{0}]
 tcpFailureDetector.member.disappeared=Verification complete. Member 
disappeared[{0}]

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java?rev=1710728&r1=1710727&r2=1710728&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java
 Tue Oct 27 07:40:22 2015
@@ -20,12 +20,20 @@ import java.util.ArrayList;
 
 import org.apache.catalina.tribes.Channel;
 import org.apache.catalina.tribes.ChannelException;
+import org.apache.catalina.tribes.ChannelInterceptor;
 import org.apache.catalina.tribes.Member;
 import org.apache.catalina.tribes.group.AbsoluteOrder;
 import org.apache.catalina.tribes.group.ChannelInterceptorBase;
+import org.apache.catalina.tribes.util.StringManager;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
+
+public class StaticMembershipInterceptor extends ChannelInterceptorBase {
+
+    private static final Log log = 
LogFactory.getLog(StaticMembershipInterceptor.class);
+    protected static final StringManager sm =
+            StringManager.getManager(StaticMembershipInterceptor.class);
 
-public class StaticMembershipInterceptor
-    extends ChannelInterceptorBase {
     protected final ArrayList<Member> members = new ArrayList<>();
     protected Member localMember = null;
 
@@ -119,6 +127,22 @@ public class StaticMembershipInterceptor
         };
         t.start();
         super.start(svc & (~Channel.SND_RX_SEQ) & (~Channel.SND_TX_SEQ));
+
+        // check required interceptors
+        TcpFailureDetector failureDetector = null;
+        TcpPingInterceptor pingInterceptor = null;
+        ChannelInterceptor prev = getPrevious();
+        while (prev != null) {
+            if (prev instanceof TcpFailureDetector ) failureDetector = 
(TcpFailureDetector) prev;
+            if (prev instanceof TcpPingInterceptor) pingInterceptor = 
(TcpPingInterceptor) prev;
+            prev = prev.getPrevious();
+        }
+        if (failureDetector == null) {
+            
log.warn(sm.getString("staticMembershipInterceptor.no.failureDetector"));
+        }
+        if (pingInterceptor == null) {
+            
log.warn(sm.getString("staticMembershipInterceptor.no.pingInterceptor"));
+        }
     }
 
 }
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to