You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by az...@apache.org on 2008/10/06 17:39:01 UTC

svn commit: r702181 - in /webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes: Axis2Coordinator.java MulticastBasedMembershipScheme.java WkaBasedMembershipScheme.java

Author: azeez
Date: Mon Oct  6 08:39:00 2008
New Revision: 702181

URL: http://svn.apache.org/viewvc?rev=702181&view=rev
Log:
Adding non-blocking coordinator so that we can hndle special event in the coordinator

Added:
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/Axis2Coordinator.java
Modified:
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MulticastBasedMembershipScheme.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/WkaBasedMembershipScheme.java

Added: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/Axis2Coordinator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/Axis2Coordinator.java?rev=702181&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/Axis2Coordinator.java (added)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/Axis2Coordinator.java Mon Oct  6 08:39:00 2008
@@ -0,0 +1,30 @@
+/*                                                                             
+ * Copyright 2004,2005 The Apache Software Foundation.                         
+ *                                                                             
+ * Licensed under the Apache License, Version 2.0 (the "License");             
+ * you may not use this file except in compliance with the License.            
+ * You may obtain a copy of the License at                                     
+ *                                                                             
+ *      http://www.apache.org/licenses/LICENSE-2.0                             
+ *                                                                             
+ * Unless required by applicable law or agreed to in writing, software         
+ * distributed under the License is distributed on an "AS IS" BASIS,           
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.    
+ * See the License for the specific language governing permissions and         
+ * limitations under the License.                                              
+ */
+package org.apache.axis2.clustering.tribes;
+
+import org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator;
+
+/**
+ *  The non-blocking coordinator interceptor 
+ */
+public class Axis2Coordinator extends NonBlockingCoordinator {
+    public void fireInterceptorEvent(InterceptorEvent event) {
+        int type = event.getEventType();
+        if (type == CoordinationEvent.EVT_CONF_RX && isCoordinator()) {
+            //TODO: Implement specif
+        }
+    }
+}

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MulticastBasedMembershipScheme.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MulticastBasedMembershipScheme.java?rev=702181&r1=702180&r2=702181&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MulticastBasedMembershipScheme.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/MulticastBasedMembershipScheme.java Mon Oct  6 08:39:00 2008
@@ -21,8 +21,10 @@
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.util.Utils;
 import org.apache.catalina.tribes.ManagedChannel;
+import org.apache.catalina.tribes.ChannelInterceptor;
 import org.apache.catalina.tribes.group.interceptors.OrderInterceptor;
 import org.apache.catalina.tribes.group.interceptors.TcpFailureDetector;
+import org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator;
 import org.apache.catalina.tribes.transport.ReceiverBase;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -157,6 +159,10 @@
             log.debug("Added TCP Failure Detector");
         }
 
+        // Add the NonBlockingCoordinator.
+        NonBlockingCoordinator nbc = new Axis2Coordinator();
+        channel.addInterceptor(nbc);
+        
         channel.getMembershipService().setDomain(domain);
         mode.addInterceptors(channel);
 

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/WkaBasedMembershipScheme.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/WkaBasedMembershipScheme.java?rev=702181&r1=702180&r2=702181&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/WkaBasedMembershipScheme.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/WkaBasedMembershipScheme.java Mon Oct  6 08:39:00 2008
@@ -25,12 +25,14 @@
 import org.apache.axis2.util.Utils;
 import org.apache.catalina.tribes.Channel;
 import org.apache.catalina.tribes.ManagedChannel;
+import org.apache.catalina.tribes.ChannelInterceptor;
 import org.apache.catalina.tribes.group.Response;
 import org.apache.catalina.tribes.group.RpcChannel;
 import org.apache.catalina.tribes.group.interceptors.OrderInterceptor;
 import org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor;
 import org.apache.catalina.tribes.group.interceptors.TcpFailureDetector;
 import org.apache.catalina.tribes.group.interceptors.TcpPingInterceptor;
+import org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator;
 import org.apache.catalina.tribes.membership.StaticMember;
 import org.apache.catalina.tribes.transport.ReceiverBase;
 import org.apache.commons.logging.Log;
@@ -288,17 +290,6 @@
             log.debug("Added TCP Ping Interceptor");
         }
 
-        // Add the NonBlockingCoordinator. This is used for leader election
-        /*nbc = new NonBlockingCoordinator() {
-            public void fireInterceptorEvent(InterceptorEvent event) {
-                String status = event.getEventTypeDesc();
-                System.err.println("$$$$$$$$$$$$ NBC status=" + status);
-                int type = event.getEventType();
-            }
-        };
-        nbc.setPrevious(dfi);
-        channel.addInterceptor(nbc);*/
-
         // Add a reliable failure detector
         TcpFailureDetector tcpFailureDetector = new TcpFailureDetector();
 //        tcpFailureDetector.setPrevious(dfi); //TODO: check this
@@ -309,6 +300,10 @@
             log.debug("Added TCP Failure Detector");
         }
 
+        // Add the NonBlockingCoordinator.
+        NonBlockingCoordinator nbc = new Axis2Coordinator();
+        channel.addInterceptor(nbc);
+        
         staticMembershipInterceptor = new StaticMembershipInterceptor();
         staticMembershipInterceptor.setLocalMember(primaryMembershipManager.getLocalMember());
         primaryMembershipManager.setStaticMembershipInterceptor(staticMembershipInterceptor);