You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/04/18 17:06:30 UTC

svn commit: r1327536 - in /karaf/cellar/branches/cellar-2.2.x: hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/ hazelcast/src/main/resources/OSGI-INF/blueprint/ shell/src/main/java/org/apache/karaf/cellar/shell/group/

Author: jbonofre
Date: Wed Apr 18 15:06:30 2012
New Revision: 1327536

URL: http://svn.apache.org/viewvc?rev=1327536&view=rev
Log:
[KARAF-1236] Update the group members while destroying the group manager

Modified:
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarMembershipListener.java
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarMembershipListener.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarMembershipListener.java?rev=1327536&r1=1327535&r2=1327536&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarMembershipListener.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarMembershipListener.java Wed Apr 18 15:06:30 2012
@@ -67,7 +67,7 @@ public class CellarMembershipListener ex
     }
 
     public void memberRemoved(MembershipEvent membershipEvent) {
-
+        // nothing to do
     }
 
     public GroupManager getGroupManager() {

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java?rev=1327536&r1=1327535&r2=1327536&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java Wed Apr 18 15:06:30 2012
@@ -76,10 +76,10 @@ public class HazelcastGroupManager imple
     private CombinedClassLoader combinedClassLoader;
 
     public void init() {
-        //Create a listener for group configuration.
+        // create a listener for group configuration.
         IMap groupConfiguration = instance.getMap(GROUPS_CONFIG);
-        groupConfiguration.addEntryListener(this,true);
-        //Add group to configuration
+        groupConfiguration.addEntryListener(this, true);
+        // add group to configuration
         try {
             Configuration configuration = configurationAdmin.getConfiguration(Configurations.NODE);
             if (configuration != null) {
@@ -102,7 +102,16 @@ public class HazelcastGroupManager imple
     }
 
     public void destroy() {
-        for(Map.Entry<String,EventConsumer> consumerEntry:groupConsumer.entrySet()) {
+        // update the group
+        Node local = this.getNode();
+        Set<Group> groups = this.listGroups(local);
+        for (Group group : groups) {
+            String groupName = group.getName();
+            group.getNodes().remove(local);
+            listGroups().put(groupName, group);
+        }
+        // shutdown the group consumer/producers
+        for (Map.Entry<String,EventConsumer> consumerEntry : groupConsumer.entrySet()) {
             EventConsumer consumer = consumerEntry.getValue();
             consumer.stop();
         }

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml?rev=1327536&r1=1327535&r2=1327536&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml Wed Apr 18 15:06:30 2012
@@ -73,7 +73,6 @@
     <bean id="combinedClassLoader" class="org.apache.karaf.cellar.core.utils.CombinedClassLoader" init-method="init"
           destroy-method="destroy"/>
 
-
     <!-- Hazelcast Cluster and Node -->
     <bean id="node" factory-ref="clusterManager" factory-method="getNode"/>
 

Modified: karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java?rev=1327536&r1=1327535&r2=1327536&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/shell/src/main/java/org/apache/karaf/cellar/shell/group/GroupSupport.java Wed Apr 18 15:06:30 2012
@@ -82,12 +82,12 @@ public abstract class GroupSupport exten
                     if (result != null && result.getGroups() != null) {
                         for (Group g : result.getGroups()) {
                             if (g.getNodes() != null && !g.getNodes().isEmpty()) {
-                                for (Node memeber : g.getNodes()) {
+                                for (Node member : g.getNodes()) {
                                     String name = g.getName();
                                     String mark = " ";
-                                    if (memeber.equals(clusterManager.getNode()))
+                                    if (member.equals(clusterManager.getNode()))
                                         mark = "*";
-                                    System.out.println(String.format(OUTPUT_FORMAT, mark, memeber.getId(), name));
+                                    System.out.println(String.format(OUTPUT_FORMAT, mark, member.getId(), name));
                                 }
                             } else System.out.println(String.format(OUTPUT_FORMAT, "", "", g.getName()));
                         }