You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by az...@apache.org on 2007/05/29 09:53:34 UTC

svn commit: r542448 - in /webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes: ChannelListener.java TribesClusterManager.java

Author: azeez
Date: Tue May 29 00:53:33 2007
New Revision: 542448

URL: http://svn.apache.org/viewvc?view=rev&rev=542448
Log:
In the clustering implemetation, one should be able to use Context management ONLY, or
Configuration management ONLY. This change facilates it.


Modified:
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java
    webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java?view=diff&rev=542448&r1=542447&r2=542448
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java Tue May 29 00:53:33 2007
@@ -122,11 +122,12 @@
                     }
 
                     Serializable msg = memberMessage.getMessage();
-                    if (msg instanceof ContextClusteringCommand) {
+                    if (msg instanceof ContextClusteringCommand && contextManager != null) {
                         contextManager.process((ContextClusteringCommand) msg);
-                    } else if (msg instanceof ConfigurationClusteringCommand) {
+                    } else if (msg instanceof ConfigurationClusteringCommand &&
+                               configurationManager != null) {
                         configurationManager.process((ConfigurationClusteringCommand) msg);
-                    } else if (msg instanceof ControlCommand) {
+                    } else if (msg instanceof ControlCommand && controlCommandProcessor != null) {
                         controlCommandProcessor.process((ControlCommand) msg,
                                                         memberMessage.getSender());
                     }

Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java?view=diff&rev=542448&r1=542447&r2=542448
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java Tue May 29 00:53:33 2007
@@ -79,8 +79,9 @@
         TransientTribesChannelInfo channelInfo = new TransientTribesChannelInfo();
         TransientTribesMemberInfo memberInfo = new TransientTribesMemberInfo();
 
-        contextManager.setSender(sender);
-        configurationManager.setSender(sender);
+        if (configurationManager != null) {
+            configurationManager.setSender(sender);
+        }
         controlCmdProcessor.setChannelSender(sender);
 
         try {
@@ -123,39 +124,40 @@
             channel.addMembershipListener(membershipListener);
             channel.start(Channel.DEFAULT);
             sender.setChannel(channel);
-            contextManager.setSender(sender);
-            configurationManager.setSender(sender);
-
-
-            listener.setContextManager(contextManager);
 
-            Member[] members = channel.getMembers();
-            TribesUtil.printMembers(members);
 
-            // If there is at least one member in the Tribe, get the current state from a member
-            Random random = new Random();
-            int numberOfTries = 0; // Don't keep on trying infinitely
-            while (members.length > 0 &&
-                   configurationContext.
-                           getPropertyNonReplicable(ClusteringConstants.CLUSTER_INITIALIZED) == null
-                   && numberOfTries < 50) {
-
-                // While there are members and GetStateResponseCommand is not received do the following
-                try {
-                    members = channel.getMembers();
-                    int memberIndex = random.nextInt(members.length);
-                    sender.sendToMember(new GetStateCommand(), members[memberIndex]);
-                    log.debug("WAITING FOR STATE UPDATE...");
-                    Thread.sleep(200);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    break;
+            if (contextManager != null) {
+                contextManager.setSender(sender);
+                listener.setContextManager(contextManager);
+
+                Member[] members = channel.getMembers();
+                TribesUtil.printMembers(members);
+
+                // If there is at least one member in the Tribe, get the current state from a member
+                Random random = new Random();
+                int numberOfTries = 0; // Don't keep on trying infinitely
+                while (members.length > 0 &&
+                       configurationContext.
+                               getPropertyNonReplicable(ClusteringConstants.CLUSTER_INITIALIZED) == null
+                       && numberOfTries < 50) {
+
+                    // While there are members and GetStateResponseCommand is not received do the following
+                    try {
+                        members = channel.getMembers();
+                        int memberIndex = random.nextInt(members.length);
+                        sender.sendToMember(new GetStateCommand(), members[memberIndex]);
+                        log.debug("WAITING FOR STATE UPDATE...");
+                        Thread.sleep(200);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        break;
+                    }
+                    numberOfTries ++;
                 }
-                numberOfTries ++;
+                configurationContext.
+                        setNonReplicableProperty(ClusteringConstants.CLUSTER_INITIALIZED,
+                                                 "true");
             }
-            configurationContext.
-                    setNonReplicableProperty(ClusteringConstants.CLUSTER_INITIALIZED,
-                                             "true");
         } catch (ChannelException e) {
             String message = "Error starting Tribes channel";
             throw new ClusteringFault(message, e);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org