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/28 09:32:16 UTC

svn commit: r1331696 - in /karaf/cellar/branches/cellar-2.2.x: bundle/src/main/java/org/apache/karaf/cellar/bundle/ bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/ config/src/main/java/org/apache/karaf/cellar/config/ config/src/main/java/org...

Author: jbonofre
Date: Sat Apr 28 07:32:15 2012
New Revision: 1331696

URL: http://svn.apache.org/viewvc?rev=1331696&view=rev
Log:
[KARAF-1401] Producer, consumer and handler now check the Switch status. "Normal" event are not forced anymore.

Modified:
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleEventHandler.java
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java
    karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java
    karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationEventHandler.java
    karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java
    karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java
    karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java
    karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java
    karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java
    karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java
    karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java
    karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java
    karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleEventHandler.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleEventHandler.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleEventHandler.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/BundleEventHandler.java Sat Apr 28 07:32:15 2012
@@ -13,9 +13,9 @@
  */
 package org.apache.karaf.cellar.bundle;
 
-import org.apache.karaf.cellar.core.Node;
 import org.apache.karaf.cellar.core.control.BasicSwitch;
 import org.apache.karaf.cellar.core.control.Switch;
+import org.apache.karaf.cellar.core.control.SwitchStatus;
 import org.apache.karaf.cellar.core.event.EventHandler;
 import org.apache.karaf.cellar.core.event.EventType;
 import org.osgi.framework.BundleEvent;
@@ -30,7 +30,6 @@ public class BundleEventHandler extends 
     public static final String SWITCH_ID = "org.apache.karaf.cellar.bundle.handler";
 
     private final Switch eventSwitch = new BasicSwitch(SWITCH_ID);
-    private Node node;
 
     /**
      * Handles remote bundle events.
@@ -38,7 +37,10 @@ public class BundleEventHandler extends 
      * @param event
      */
     public void handle(RemoteBundleEvent event) {
-        // TODO check the switch to see if the handler is enabled
+        if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
+            LOGGER.warn("CELLAR BUNDLE: {} switch is OFF, cluster event is not handled", SWITCH_ID);
+            return;
+        }
         try {
             //Check if the pid is marked as local.
             if (isAllowed(event.getSourceGroup(), Constants.CATEGORY, event.getLocation(), EventType.INBOUND)) {
@@ -71,9 +73,7 @@ public class BundleEventHandler extends 
      * Initialization Method.
      */
     public void init() {
-        if (clusterManager != null) {
-            node = clusterManager.getNode();
-        }
+
     }
 
     /**

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/InstallBundleCommand.java Sat Apr 28 07:32:15 2012
@@ -63,7 +63,6 @@ public class InstallBundleCommand extend
         // broadcast the cluster event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteBundleEvent event = new RemoteBundleEvent(name, version, location, BundleEvent.INSTALLED);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
 

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StartBundleCommand.java Sat Apr 28 07:32:15 2012
@@ -67,7 +67,6 @@ public class StartBundleCommand extends 
         // broadcast the cluster event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteBundleEvent event = new RemoteBundleEvent(name, version, location, BundleEvent.STARTED);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
 

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/StopBundleCommand.java Sat Apr 28 07:32:15 2012
@@ -67,7 +67,6 @@ public class StopBundleCommand extends C
         // broadcast the cluster event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteBundleEvent event = new RemoteBundleEvent(name, version, location, BundleEvent.STOPPED);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
 

Modified: karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/bundle/src/main/java/org/apache/karaf/cellar/bundle/shell/UninstallBundleCommand.java Sat Apr 28 07:32:15 2012
@@ -66,7 +66,6 @@ public class UninstallBundleCommand exte
         // broadcast the cluster event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteBundleEvent event = new RemoteBundleEvent(name, version, location, BundleEvent.UNINSTALLED);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
 

Modified: karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationEventHandler.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationEventHandler.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationEventHandler.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationEventHandler.java Sat Apr 28 07:32:15 2012
@@ -53,6 +53,11 @@ public class ConfigurationEventHandler e
         if (event == null || event.getSourceGroup() == null || node == null || node.equals(event.getSourceNode()))
             return;
 
+        if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
+            LOGGER.warn("CELLAR CONFIG: {} switch is OFF, cluster event not handled", SWITCH_ID);
+            return;
+        }
+
         Group group = event.getSourceGroup();
         String groupName = group.getName();
 

Modified: karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/ConfigurationSynchronizer.java Sat Apr 28 07:32:15 2012
@@ -56,7 +56,7 @@ public class ConfigurationSynchronizer e
                 if (isSyncEnabled(group)) {
                     pull(group);
                     push(group);
-                } else LOGGER.warn("CELLAR CONFIG: sync is disabled for group {}", group.getName());
+                } else LOGGER.warn("CELLAR CONFIG: sync is disabled for cluster group {}", group.getName());
             }
         }
     }

Modified: karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/config/src/main/java/org/apache/karaf/cellar/config/shell/ListCommand.java Sat Apr 28 07:32:15 2012
@@ -55,7 +55,6 @@ public class ListCommand extends ConfigC
             } else System.err.println("No configuration PID found for group " + groupName);
         } finally {
             Thread.currentThread().setContextClassLoader(originalClassLoader);
-
         }
         return null;
     }

Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/FeaturesEventHandler.java Sat Apr 28 07:32:15 2012
@@ -49,6 +49,11 @@ public class FeaturesEventHandler extend
      * @param event
      */
     public void handle(RemoteFeaturesEvent event) {
+        if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
+            LOGGER.warn("CELLAR FEATURES: {} switch is OFF, cluster event is not handled", SWITCH_ID);
+            return;
+        }
+
         String name = event.getName();
         String version = event.getVersion();
         if (eventSwitch.getStatus().equals(SwitchStatus.ON)) {

Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/RepositoryEventHandler.java Sat Apr 28 07:32:15 2012
@@ -15,6 +15,7 @@ package org.apache.karaf.cellar.features
 
 import org.apache.karaf.cellar.core.control.BasicSwitch;
 import org.apache.karaf.cellar.core.control.Switch;
+import org.apache.karaf.cellar.core.control.SwitchStatus;
 import org.apache.karaf.cellar.core.event.EventHandler;
 import org.apache.karaf.features.RepositoryEvent;
 import org.slf4j.Logger;
@@ -44,9 +45,15 @@ public class RepositoryEventHandler exte
     }
 
     public void handle(RemoteRepositoryEvent event) {
+        if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
+            LOGGER.warn("CELLAR FEATURES: {} switch is OFF, cluster event is not handled", SWITCH_ID);
+            return;
+        }
+
         String uri = event.getId();
         RepositoryEvent.EventType type = event.getType();
         try {
+            // TODO check if isAllowed
             if (RepositoryEvent.EventType.RepositoryAdded.equals(type)) {
                 LOGGER.debug("CELLAR FEATURES: adding repository URI {}", uri);
                 featuresService.addRepository(new URI(uri));

Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/InstallFeatureCommand.java Sat Apr 28 07:32:15 2012
@@ -39,13 +39,14 @@ public class InstallFeatureCommand exten
             System.err.println("Cluster group " + groupName + " doesn't exist");
             return null;
         }
+
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteFeaturesEvent event = new RemoteFeaturesEvent(feature, version, FeatureEvent.EventType.FeatureInstalled);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
 
         updateFeatureStatus(groupName, feature, version, true);
+
         return null;
     }
 

Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java Sat Apr 28 07:32:15 2012
@@ -42,6 +42,7 @@ public class ListGroupFeatures extends F
             System.err.println("Cluster group " + groupName + " doesn't exist");
             return null;
         }
+
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         try {
             Thread.currentThread().setContextClassLoader(getClass().getClassLoader());

Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/shell/UninstallFeatureCommand.java Sat Apr 28 07:32:15 2012
@@ -39,6 +39,7 @@ public class UninstallFeatureCommand ext
             System.err.println("Cluster group " + groupName + " doesn't exist");
             return null;
         }
+
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteFeaturesEvent event = new RemoteFeaturesEvent(feature, version, FeatureEvent.EventType.FeatureUninstalled);
         event.setForce(true);
@@ -46,6 +47,7 @@ public class UninstallFeatureCommand ext
         producer.produce(event);
 
         updateFeatureStatus(groupName, feature, version, true);
+
         return null;
     }
 

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java Sat Apr 28 07:32:15 2012
@@ -61,7 +61,6 @@ public class HazelcastEventTransportFact
                 consumer.init();
                 return consumer;
         } else {
-
                 IQueue queue = instance.getQueue(Constants.QUEUE + Constants.SEPARATOR + name);
                 QueueConsumer consumer = new QueueConsumer(combinedClassLoader);
                 consumer.setQueue(queue);

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java Sat Apr 28 07:32:15 2012
@@ -64,10 +64,10 @@ public class QueueConsumer<E extends Eve
      */
     public void init() {
         if (queue != null) {
-            queue.addItemListener(this,true);
+            queue.addItemListener(this, true);
         } else {
             queue = instance.getQueue(Constants.QUEUE);
-            queue.addItemListener(this,true);
+            queue.addItemListener(this, true);
         }
         executorService.execute(this);
     }
@@ -88,12 +88,12 @@ public class QueueConsumer<E extends Eve
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         try {
             while (isConsuming) {
-                if(combinedClassLoader != null) {
+                if (combinedClassLoader != null) {
                     Thread.currentThread().setContextClassLoader(combinedClassLoader);
                 } else Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
                 E e = null;
                 try {
-                        e = getQueue().poll(10, TimeUnit.SECONDS);
+                    e = getQueue().poll(10, TimeUnit.SECONDS);
                 } catch (InterruptedException e1) {
                     LOGGER.warn("CELLAR HAZELCAST: consume task interrupted");
                 }
@@ -102,9 +102,8 @@ public class QueueConsumer<E extends Eve
                 }
             }
         } catch (Exception ex) {
-            LOGGER.error("CELLAR HAZELCAST: error while consuming from queue",ex);
-        }
-        finally {
+            LOGGER.error("CELLAR HAZELCAST: error while consuming from queue", ex);
+        } finally {
             Thread.currentThread().setContextClassLoader(originalClassLoader);
         }
     }
@@ -115,21 +114,24 @@ public class QueueConsumer<E extends Eve
      * @param event
      */
     public void consume(E event) {
-        if (event != null  && (eventSwitch.getStatus().equals(SwitchStatus.ON) || event.getForce())) {
-                dispatcher.dispatch(event);
+        if (event != null && (eventSwitch.getStatus().equals(SwitchStatus.ON) || event.getForce())) {
+            dispatcher.dispatch(event);
+        } else {
+            if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
+                LOGGER.warn("CELLAR HAZELCAST: {} switch if OFF, event is not consumed", SWITCH_ID);
+            }
         }
     }
 
     @Override
-    public void start()
-    {
+    public void start() {
         isConsuming = true;
         executorService.execute(this);
     }
 
     @Override
     public void stop() {
-      isConsuming = false;
+        isConsuming = false;
     }
 
     public Boolean isConsuming() {

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java Sat Apr 28 07:32:15 2012
@@ -82,6 +82,10 @@ public class QueueProducer<E extends Eve
             } catch (InterruptedException e) {
                 LOGGER.error("CELLAR HAZELCAST: queue producer interrupted", e);
             }
+        } else {
+            if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
+                LOGGER.warn("CELLAR HAZELCAST: {} switch is OFF, don't produce the event", SWITCH_ID);
+            }
         }
     }
 

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java Sat Apr 28 07:32:15 2012
@@ -23,12 +23,16 @@ import org.apache.karaf.cellar.core.cont
 import org.apache.karaf.cellar.core.control.SwitchStatus;
 import org.apache.karaf.cellar.core.event.Event;
 import org.apache.karaf.cellar.core.event.EventConsumer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Consumes messages from the distributed {@code ITopic} and calls the {@code EventDispatcher}.
  */
 public class TopicConsumer<E extends Event> implements EventConsumer<E>, MessageListener<E> {
 
+    private static final transient Logger LOGGER = LoggerFactory.getLogger(QueueConsumer.class);
+
     public static final String SWITCH_ID = "org.apache.karaf.cellar.topic.consumer";
 
     private final Switch eventSwitch = new BasicSwitch(SWITCH_ID);
@@ -65,9 +69,13 @@ public class TopicConsumer<E extends Eve
     public void consume(E event) {
         //Check if event has a specified destination.
         if ((event.getDestination() == null || event.getDestination().contains(node)) && (eventSwitch.getStatus().equals(SwitchStatus.ON) || event.getForce())) {
-                dispatcher.dispatch(event);
+            dispatcher.dispatch(event);
+        } else {
+            if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
+                LOGGER.warn("CELLAR HAZELCAST: {} switch if OFF, event is not consumed", SWITCH_ID);
             }
         }
+    }
 
     @Override
     public void start() {

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java Sat Apr 28 07:32:15 2012
@@ -22,12 +22,16 @@ import org.apache.karaf.cellar.core.cont
 import org.apache.karaf.cellar.core.control.SwitchStatus;
 import org.apache.karaf.cellar.core.event.Event;
 import org.apache.karaf.cellar.core.event.EventProducer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Produces {@code Event}s into the distributed {@code ITopic}.
  */
 public class TopicProducer<E extends Event> implements EventProducer<E> {
 
+    private static final transient Logger LOGGER = LoggerFactory.getLogger(QueueProducer.class);
+
     public static final String SWITCH_ID = "org.apache.karaf.cellar.topic.producer";
 
     private final Switch eventSwitch = new BasicSwitch(SWITCH_ID);
@@ -60,6 +64,10 @@ public class TopicProducer<E extends Eve
         if (eventSwitch.getStatus().equals(SwitchStatus.ON) || event.getForce() || event instanceof Result) {
             event.setSourceNode(node);
             topic.publish(event);
+        } else {
+            if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
+                LOGGER.warn("CELLAR HAZELCAST: {} switch is OFF, don't produce the event", SWITCH_ID);
+            }
         }
     }
 

Modified: karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarBundleMBeanImpl.java Sat Apr 28 07:32:15 2012
@@ -94,7 +94,6 @@ public class CellarBundleMBeanImpl exten
         // broadcast the event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteBundleEvent event = new RemoteBundleEvent(name, version, location, BundleEvent.INSTALLED);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
     }
@@ -119,7 +118,6 @@ public class CellarBundleMBeanImpl exten
         // broadcast the event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteBundleEvent event = new RemoteBundleEvent(symbolicName, version, null, BundleEvent.UNINSTALLED);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
     }
@@ -149,7 +147,6 @@ public class CellarBundleMBeanImpl exten
         // broadcast the event
         EventProducer producer = eventTransportFactory.getEventProducer(groupName, true);
         RemoteBundleEvent event = new RemoteBundleEvent(symbolicName, version, null, BundleEvent.STARTED);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
     }

Modified: karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java?rev=1331696&r1=1331695&r2=1331696&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/management/src/main/java/org/apache/karaf/cellar/management/internal/CellarFeaturesMBeanImpl.java Sat Apr 28 07:32:15 2012
@@ -72,7 +72,6 @@ public class CellarFeaturesMBeanImpl ext
         Group group = groupManager.findGroupByName(groupName);
         EventProducer producer = eventTransportFactory.getEventProducer(groupName,true);
         RemoteFeaturesEvent event = new RemoteFeaturesEvent(name, version, FeatureEvent.EventType.FeatureInstalled);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
     }
@@ -85,7 +84,6 @@ public class CellarFeaturesMBeanImpl ext
         Group group = groupManager.findGroupByName(groupName);
         EventProducer producer = eventTransportFactory.getEventProducer(groupName,true);
         RemoteFeaturesEvent event = new RemoteFeaturesEvent(name, version, FeatureEvent.EventType.FeatureUninstalled);
-        event.setForce(true);
         event.setSourceGroup(group);
         producer.produce(event);
     }