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 2013/12/18 13:22:51 UTC
[16/50] [abbrv] git commit: Code cleanup.
Code cleanup.
git-svn-id: https://svn.apache.org/repos/asf/karaf/cellar/trunk@1471549 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/karaf-cellar/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cellar/commit/b43a255a
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cellar/tree/b43a255a
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cellar/diff/b43a255a
Branch: refs/heads/master
Commit: b43a255ad91d9db9c80f0583eabd891ed841fbb2
Parents: 33d67d1
Author: jbonofre <jb...@13f79535-47bb-0310-9956-ffa450edef68>
Authored: Wed Apr 24 17:23:48 2013 +0000
Committer: jbonofre <jb...@13f79535-47bb-0310-9956-ffa450edef68>
Committed: Wed Apr 24 17:23:48 2013 +0000
----------------------------------------------------------------------
.../karaf/cellar/hazelcast/CellarExtender.java | 5 +-
.../karaf/cellar/hazelcast/Constants.java | 2 +-
.../hazelcast/HazelcastBundleListener.java | 3 +
.../hazelcast/HazelcastClusterManager.java | 63 ++++++++------
.../HazelcastEventTransportFactory.java | 6 +-
.../cellar/hazelcast/HazelcastGroupManager.java | 72 ++++++++--------
.../hazelcast/HazelcastInstanceAware.java | 11 +--
.../karaf/cellar/hazelcast/HazelcastNode.java | 14 +---
.../karaf/cellar/hazelcast/QueueConsumer.java | 25 +++---
.../karaf/cellar/hazelcast/QueueProducer.java | 18 ++--
.../karaf/cellar/hazelcast/TopicConsumer.java | 18 ++--
.../karaf/cellar/hazelcast/TopicProducer.java | 16 +---
.../factory/HazelcastConfigurationManager.java | 12 ++-
.../factory/HazelcastServiceFactory.java | 26 +++---
.../hazelcast/merge/CellarMergePolicy.java | 64 ++++++++------
.../resources/OSGI-INF/blueprint/blueprint.xml | 87 +++++++++-----------
.../factory/HazelcastServiceFactoryTest.java | 13 ---
17 files changed, 224 insertions(+), 231 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarExtender.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarExtender.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarExtender.java
index 6f373f2..d417500 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarExtender.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/CellarExtender.java
@@ -11,12 +11,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.karaf.cellar.hazelcast;
import org.apache.karaf.cellar.core.utils.CombinedClassLoader;
import org.osgi.framework.BundleContext;
+/**
+ * Cellar extender.
+ */
public class CellarExtender {
private HazelcastBundleListener hazelcastBundleListener;
@@ -45,4 +47,5 @@ public class CellarExtender {
public void setCombinedClassLoader(CombinedClassLoader combinedClassLoader) {
this.combinedClassLoader = combinedClassLoader;
}
+
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/Constants.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/Constants.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/Constants.java
index 107882a..6279d95 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/Constants.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/Constants.java
@@ -14,7 +14,7 @@
package org.apache.karaf.cellar.hazelcast;
/**
- * Hazelcast constants.
+ * Hazelcast configuration constants.
*/
public class Constants {
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastBundleListener.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastBundleListener.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastBundleListener.java
index 1d427c9..63fcbc2 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastBundleListener.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastBundleListener.java
@@ -18,6 +18,9 @@ import org.osgi.framework.*;
import java.util.Dictionary;
+/**
+ * Hazelcast bundle listener.
+ */
public class HazelcastBundleListener implements SynchronousBundleListener {
private BundleContext bundleContext;
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastClusterManager.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastClusterManager.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastClusterManager.java
index 6be3739..529aaf6 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastClusterManager.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastClusterManager.java
@@ -29,7 +29,7 @@ import java.util.Map;
import java.util.Set;
/**
- * Hazelcast cluster manager.
+ * Cluster manager implementation powered by Hazelcast.
*/
public class HazelcastClusterManager extends HazelcastInstanceAware implements ClusterManager {
@@ -41,40 +41,44 @@ public class HazelcastClusterManager extends HazelcastInstanceAware implements C
private CombinedClassLoader combinedClassLoader;
/**
- * Returns a named distributed map.
+ * Get a Map in Hazelcast.
*
- * @param mapName
- * @return
+ * @param mapName the Map name.
+ * @return the Map in Hazelcast.
*/
+ @Override
public Map getMap(String mapName) {
return instance.getMap(mapName);
}
/**
- * Returns a named distributed list.
+ * Get a List in Hazelcast.
*
- * @param listName
- * @return
+ * @param listName the List name.
+ * @return the List in Hazelcast.
*/
+ @Override
public List getList(String listName) {
return instance.getList(listName);
}
/**
- * Returns a named distributed set.
- * @param setName
- * @return
+ * Get a Set in Hazelcast.
+ *
+ * @param setName the Set name.
+ * @return the Set in Hazelcast.
*/
+ @Override
public Set getSet(String setName) {
return instance.getSet(setName);
}
-
/**
- * Returns the list of Hazelcast Nodes.
+ * Get the list of Hazelcast nodes.
*
- * @return
+ * @return a Set containing the Hazelcast nodes.
*/
+ @Override
public Set<Node> listNodes() {
Set<Node> nodes = new HashSet<Node>();
@@ -91,14 +95,13 @@ public class HazelcastClusterManager extends HazelcastInstanceAware implements C
return nodes;
}
-
-
/**
- * Returns the {@code Node}s with the corresponding ids.
+ * Get the nodes with given IDs.
*
- * @param ids
- * @return
+ * @param ids a collection of IDs to look for.
+ * @return a Set containing the nodes.
*/
+ @Override
public Set<Node> listNodes(Collection<String> ids) {
Set<Node> nodes = new HashSet<Node>();
if (ids != null && !ids.isEmpty()) {
@@ -119,11 +122,12 @@ public class HazelcastClusterManager extends HazelcastInstanceAware implements C
}
/**
- * Returns the {@code Node} with the corresponding id.
+ * Get a node with a given ID.
*
- * @param id
- * @return
+ * @param id the node ID.
+ * @return the node.
*/
+ @Override
public Node findNodeById(String id) {
if (id != null) {
Cluster cluster = instance.getCluster();
@@ -142,16 +146,23 @@ public class HazelcastClusterManager extends HazelcastInstanceAware implements C
return null;
}
+ /**
+ * List the nodes in a given cluster group.
+ *
+ * @param group the cluster group.
+ * @return a Set with the nodes.
+ */
@Override
public Set<Node> listNodesByGroup(Group group) {
return group.getNodes();
}
/**
- * Generate an id.
+ * Generate an unique ID.
*
- * @return
+ * @return the generated unique ID.
*/
+ @Override
public synchronized String generateId() {
if (idgenerator == null) {
idgenerator = instance.getIdGenerator(GENERATOR_ID);
@@ -159,16 +170,19 @@ public class HazelcastClusterManager extends HazelcastInstanceAware implements C
return String.valueOf(idgenerator.newId());
}
+ @Override
public void start() {
-
+ // nothing to do
}
+ @Override
public void stop() {
if (instance != null && instance.getLifecycleService().isRunning()) {
instance.getLifecycleService().shutdown();
}
}
+ @Override
public void restart() {
if (instance != null && instance.getLifecycleService().isRunning()) {
instance.getLifecycleService().restart();
@@ -190,4 +204,5 @@ public class HazelcastClusterManager extends HazelcastInstanceAware implements C
public void setCombinedClassLoader(CombinedClassLoader combinedClassLoader) {
this.combinedClassLoader = combinedClassLoader;
}
+
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java
index 2b3027e..e39ce36 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastEventTransportFactory.java
@@ -21,9 +21,9 @@ import org.apache.karaf.cellar.core.event.EventProducer;
import org.apache.karaf.cellar.core.event.EventTransportFactory;
import org.apache.karaf.cellar.core.utils.CombinedClassLoader;
-import java.util.HashMap;
-import java.util.Map;
-
+/**
+ * An event transport factory powered by Hazelcast.
+ */
public class HazelcastEventTransportFactory extends HazelcastInstanceAware implements EventTransportFactory {
private Dispatcher dispatcher;
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java
index f3860d3..b781c6a 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastGroupManager.java
@@ -42,7 +42,7 @@ import org.osgi.service.cm.ConfigurationListener;
import org.slf4j.Logger;
/**
- * Hazelcast group manager.
+ * A group manager implementation powered by Hazelcast.
* The role of this class is to provide means of creating groups, setting nodes to groups etc.
* Keep in sync the distributed group configuration with the locally persisted.
*/
@@ -89,7 +89,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
}
} catch (IOException e) {
- LOGGER.warn("CELLAR HAZELCAST: can't create group from configuration admin", e);
+ LOGGER.warn("CELLAR HAZELCAST: can't create cluster group from configuration admin", e);
}
try {
// add group membership from configuration
@@ -169,7 +169,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
// store the group list to configuration admin
persist(listGroups());
} catch (Exception e) {
- LOGGER.warn("CELLAR HAZELCAST: can't store group list", e);
+ LOGGER.warn("CELLAR HAZELCAST: can't store cluster group list", e);
}
}
return group;
@@ -189,7 +189,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
// store the group list to configuration admin
persist(listGroups());
} catch (Exception e) {
- LOGGER.warn("CELLAR HAZELCAST: can't store group list", e);
+ LOGGER.warn("CELLAR HAZELCAST: can't store cluster group list", e);
}
}
} finally {
@@ -331,8 +331,9 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
/**
- * Registers a {@link Group}.
- * @param group
+ * Register a cluster {@link Group}.
+ *
+ * @param group the cluster group to register.
*/
@Override
public void registerGroup(Group group) {
@@ -342,7 +343,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
String groupName = group.getName();
createGroup(groupName);
- LOGGER.info("Registering group {}.", groupName);
+ LOGGER.info("CELLAR HAZELCAST: registering cluster group {}.", groupName);
Properties serviceProperties = new Properties();
serviceProperties.put("type", "group");
serviceProperties.put("name", groupName);
@@ -396,7 +397,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
}
} catch (IOException e) {
- LOGGER.error("Error reading group configuration {}", group);
+ LOGGER.error("CELLAR HAZELCAST: error reading cluster group configuration {}", group);
}
// launch the synchronization on the group
@@ -413,7 +414,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
}
} catch (InvalidSyntaxException e) {
- LOGGER.error("Error looking up for Synchronizers", e);
+ LOGGER.error("CELLAR HAZELCAST: failed to look for synchronizers", e);
}
} finally {
Thread.currentThread().setContextClassLoader(originalClassLoader);
@@ -446,16 +447,17 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
}
+ @Override
public void unRegisterGroup(Group group) {
ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(combinedClassLoader);
String groupName = group.getName();
- // remove local node from group.
+ // remove local node from cluster group
group.getNodes().remove(getNode());
listGroups().put(groupName, group);
- // unregister group consumers
+ // un-register cluster group consumers
if (consumerRegistrations != null && !consumerRegistrations.isEmpty()) {
ServiceRegistration consumerRegistration = consumerRegistrations.get(groupName);
if (consumerRegistration != null) {
@@ -464,7 +466,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
}
- // unregister group producers
+ // un-register cluster group producers
if (producerRegistrations != null && !producerRegistrations.isEmpty()) {
ServiceRegistration producerRegistration = producerRegistrations.get(groupName);
if (producerRegistration != null) {
@@ -473,14 +475,14 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
}
- // remove Consumers & Producers
+ // remove consumers & producers
groupProducers.remove(groupName);
EventConsumer consumer = groupConsumer.remove(groupName);
if (consumer != null) {
consumer.stop();
}
- // remove group from configuration
+ // remove cluster group from configuration
try {
Configuration configuration = configurationAdmin.getConfiguration(Configurations.NODE);
Dictionary<String, Object> properties = configuration.getProperties();
@@ -495,7 +497,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
properties.put(Configurations.GROUPS_KEY, groups);
configuration.update(properties);
} catch (IOException e) {
- LOGGER.error("Error reading group configuration {}", group);
+ LOGGER.error("CELLAR HAZELCAST: failed to read cluster group configuration", e);
}
} finally {
Thread.currentThread().setContextClassLoader(originalClassLoader);
@@ -503,27 +505,28 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
/**
- * Copies the configuration of a {@link Group}.
+ * Copy the configuration of a cluster {@link Group}.
+ *
* <b>1.</b> Updates configuration admin from Hazelcast using source config.
* <b>2.</b> Creates target configuration both on Hazelcast and configuration admin.
*
- * @param sourceGroupName
- * @param targetGroupName
+ * @param sourceGroupName the source cluster group.
+ * @param targetGroupName the target cluster group.
*/
public void copyGroupConfiguration(String sourceGroupName, String targetGroupName) {
try {
Configuration conf = configurationAdmin.getConfiguration(Configurations.GROUP);
if (conf != null) {
- //Get configuration from config admin.
+ // get configuration from config admin
Dictionary configAdminProperties = conf.getProperties();
if (configAdminProperties == null) {
configAdminProperties = new Properties();
}
- //Get configuration from Hazelcast
+ // get configuration from Hazelcast
Map<String, String> sourceGropConfig = instance.getMap(GROUPS_CONFIG);
- //Update local configuration from cluster.
+ // update local configuration from cluster
for (Map.Entry<String, String> parentEntry : sourceGropConfig.entrySet()) {
configAdminProperties.put(parentEntry.getKey(), parentEntry.getValue());
}
@@ -546,15 +549,15 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
} catch (IOException e) {
- LOGGER.error("Error reading group configuration ", e);
+ LOGGER.error("CELLAR HAZELCAST: failed to read cluster group configuration", e);
}
}
/**
- * Utility method which converts a set to a String.
+ * Util method which converts a Set to a String.
*
- * @param set
- * @return
+ * @param set the Set to convert.
+ * @return the String corresponding to the Set.
*/
protected String convertSetToString(Set<String> set) {
StringBuffer result = new StringBuffer();
@@ -570,10 +573,10 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
/**
- * Utility method which converts String to Set.
+ * Util method which converts a String to a Set.
*
- * @param string
- * @return
+ * @param string the String to convert.
+ * @return the Set corresponding to the String.
*/
protected Set<String> convertStringToSet(String string) {
if (string == null)
@@ -591,7 +594,11 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
return result;
}
-
+ /**
+ * A local configuration listener to update the local Hazelcast instance when the configuration changes.
+ *
+ * @param configurationEvent the local configuration event.
+ */
@Override
public void configurationEvent(ConfigurationEvent configurationEvent) {
String pid = configurationEvent.getPid();
@@ -610,7 +617,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
}
}
} catch (Exception e) {
- LOGGER.warn("Failed to update group configuration");
+ LOGGER.warn("CELLAR HAZELCAST: failed to update cluster group configuration", e);
}
}
}
@@ -642,7 +649,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
*/
@Override
public void entryUpdated(EntryEvent entryEvent) {
- LOGGER.info("Distributed Group configuration has been updated, updating local configuration.");
+ LOGGER.info("CELLAR HAZELCAST: cluster group configuration has been updated, updating local configuration");
try {
Configuration conf = configurationAdmin.getConfiguration(GROUPS);
Dictionary props = conf.getProperties();
@@ -653,7 +660,7 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
conf.update(props);
}
} catch (Exception ex) {
- LOGGER.warn("Error while updating local group configuration", ex);
+ LOGGER.warn("CELLAR HAZELCAST: failed to update local configuration", ex);
}
}
@@ -667,7 +674,6 @@ public class HazelcastGroupManager implements GroupManager, EntryListener, Confi
entryUpdated(entryEvent);
}
-
public HazelcastInstance getInstance() {
return instance;
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastInstanceAware.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastInstanceAware.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastInstanceAware.java
index 9fa2efc..87e1288 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastInstanceAware.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastInstanceAware.java
@@ -18,6 +18,9 @@ import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.core.Member;
import org.apache.karaf.cellar.core.Node;
+/**
+ * Hazelcast instance aware.
+ */
public class HazelcastInstanceAware {
protected HazelcastInstance instance;
@@ -30,10 +33,10 @@ public class HazelcastInstanceAware {
this.instance = null;
}
- /**
- * Returns the node on which the command was run.
+ /**
+ * Return the local node.
*
- * @return
+ * @return the local node.
*/
public Node getNode() {
Cluster cluster = instance.getCluster();
@@ -53,6 +56,4 @@ public class HazelcastInstanceAware {
this.instance = instance;
}
-
-
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastNode.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastNode.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastNode.java
index c1f6a78..eabd20e 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastNode.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/HazelcastNode.java
@@ -16,7 +16,7 @@ package org.apache.karaf.cellar.hazelcast;
import org.apache.karaf.cellar.core.Node;
/**
- * Hazelcast cluster node.
+ * Cluster node powered by Hazelcast.
*/
public class HazelcastNode implements Node {
@@ -25,12 +25,6 @@ public class HazelcastNode implements Node {
private String host;
private int port;
- /**
- * Constructor
- *
- * @param host
- * @param port
- */
public HazelcastNode(String host, int port) {
StringBuilder builder = new StringBuilder();
this.host = host;
@@ -38,10 +32,12 @@ public class HazelcastNode implements Node {
this.id = builder.append(host).append(":").append(port).toString();
}
+ @Override
public String getId() {
return id;
}
+ @Override
public String getHost() {
return host;
}
@@ -50,6 +46,7 @@ public class HazelcastNode implements Node {
this.host = host;
}
+ @Override
public int getPort() {
return port;
}
@@ -81,9 +78,6 @@ public class HazelcastNode implements Node {
return id != null ? id.hashCode() : 0;
}
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
@Override
public String toString() {
return "HazelcastNode [id=" + id + ", host=" + host + ", port=" + port
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java
index ebae4ab..da601ee 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueConsumer.java
@@ -36,7 +36,7 @@ import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
/**
- * Consumes messages from the distributed {@code ITopic} and calls the {@code EventDispatcher}.
+ * Consumes cluster events from the Hazelcast {@code IQueue} and calls the {@code EventDispatcher}.
*/
public class QueueConsumer<E extends Event> implements EventConsumer<E>, ItemListener<E>, Runnable {
@@ -57,15 +57,13 @@ public class QueueConsumer<E extends Event> implements EventConsumer<E>, ItemLis
private ConfigurationAdmin configurationAdmin;
public QueueConsumer() {
+ // nothing to do
}
public QueueConsumer(CombinedClassLoader combinedClassLoader) {
this.combinedClassLoader = combinedClassLoader;
}
- /**
- * Initialization method.
- */
public void init() {
if (queue != null) {
queue.addItemListener(this, true);
@@ -76,9 +74,6 @@ public class QueueConsumer<E extends Event> implements EventConsumer<E>, ItemLis
executorService.execute(this);
}
- /**
- * Destruction method.
- */
public void destroy() {
isConsuming = false;
if (queue != null) {
@@ -99,24 +94,25 @@ public class QueueConsumer<E extends Event> implements EventConsumer<E>, ItemLis
try {
e = getQueue().poll(10, TimeUnit.SECONDS);
} catch (InterruptedException e1) {
- LOGGER.warn("Consume task interrupted");
+ LOGGER.warn("CELLAR HAZELCAST: consume task interrupted");
}
if (e != null) {
consume(e);
}
}
} catch (Exception ex) {
- LOGGER.error("Error while consuming from queue", ex);
+ LOGGER.error("CELLAR HAZELCAST: failed to consume from queue", ex);
} finally {
Thread.currentThread().setContextClassLoader(originalClassLoader);
}
}
/**
- * Consumes an event form the topic.
+ * Consume a cluster event.
*
- * @param event
+ * @param event the cluster event.
*/
+ @Override
public void consume(E event) {
if (event != null && (this.getSwitch().getStatus().equals(SwitchStatus.ON) || event.getForce())) {
dispatcher.dispatch(event);
@@ -133,24 +129,24 @@ public class QueueConsumer<E extends Event> implements EventConsumer<E>, ItemLis
executorService.execute(this);
}
-
@Override
public void stop() {
isConsuming = false;
}
+ @Override
public Boolean isConsuming() {
return isConsuming;
}
@Override
public void itemAdded(ItemEvent<E> event) {
-
+ // nothing to do
}
@Override
public void itemRemoved(ItemEvent<E> event) {
-
+ // nothing to do
}
public Dispatcher getDispatcher() {
@@ -177,6 +173,7 @@ public class QueueConsumer<E extends Event> implements EventConsumer<E>, ItemLis
this.queue = queue;
}
+ @Override
public Switch getSwitch() {
// load the switch status from the config
try {
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java
index c1c4ced..d196f89 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java
@@ -43,7 +43,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Produces {@code Event}s into the distributed {@code ITopic}.
+ * Produces cluster {@code Event}s into the Hazelcast {@code IQueue}.
*/
public class QueueProducer<E extends Event> implements EventProducer<E> {
@@ -58,33 +58,24 @@ public class QueueProducer<E extends Event> implements EventProducer<E> {
private Node node;
private ConfigurationAdmin configurationAdmin;
- /**
- * Initialization method.
- */
public void init() {
if (queue == null) {
queue = instance.getQueue(Constants.QUEUE);
}
}
- /**
- * Destruction method.
- */
public void destroy() {
+ // nothing to do
}
- /**
- * Propagates an event into the distributed {@code ITopic}.
- *
- * @param event
- */
+ @Override
public void produce(E event) {
if (this.getSwitch().getStatus().equals(SwitchStatus.ON) || event.getForce() || event instanceof Result) {
event.setSourceNode(node);
try {
queue.put(event);
} catch (InterruptedException e) {
- LOGGER.error("Queue producer interrupted", e);
+ LOGGER.error("CELLAR HAZELCAST: queue producer interrupted", e);
}
} else {
if (eventSwitch.getStatus().equals(SwitchStatus.OFF)) {
@@ -93,6 +84,7 @@ public class QueueProducer<E extends Event> implements EventProducer<E> {
}
}
+ @Override
public Switch getSwitch() {
// load the switch status from the config
try {
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java
index 7d87bf1..ba9ef5e 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicConsumer.java
@@ -31,7 +31,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Consumes messages from the distributed {@code ITopic} and calls the {@code EventDispatcher}.
+ * Consumes messages from the Hazelcast {@code ITopic} and calls the {@code EventDispatcher}.
*/
public class TopicConsumer<E extends Event> implements EventConsumer<E>, MessageListener<E> {
@@ -49,9 +49,6 @@ public class TopicConsumer<E extends Event> implements EventConsumer<E>, Message
private boolean isConsuming;
- /**
- * Initialization method.
- */
public void init() {
if (topic == null) {
topic = instance.getTopic(Constants.TOPIC);
@@ -59,20 +56,13 @@ public class TopicConsumer<E extends Event> implements EventConsumer<E>, Message
start();
}
- /**
- * Destruction method.
- */
public void destroy() {
stop();
}
- /**
- * Consumes an event form the topic.
- *
- * @param event
- */
+ @Override
public void consume(E event) {
- //Check if event has a specified destination.
+ // check if event has a specified destination.
if ((event.getDestination() == null || event.getDestination().contains(node)) && (this.getSwitch().getStatus().equals(SwitchStatus.ON) || event.getForce())) {
dispatcher.dispatch(event);
} else {
@@ -107,6 +97,7 @@ public class TopicConsumer<E extends Event> implements EventConsumer<E>, Message
return isConsuming;
}
+ @Override
public void onMessage(Message<E> message) {
consume(message.getMessageObject());
}
@@ -135,6 +126,7 @@ public class TopicConsumer<E extends Event> implements EventConsumer<E>, Message
this.topic = topic;
}
+ @Override
public Switch getSwitch() {
// load the switch status from the config
try {
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java
index cf1c77a..f39d9c3 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java
@@ -29,7 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Produces {@code Event}s into the distributed {@code ITopic}.
+ * Produces cluster {@code Event}s into the distributed {@code ITopic}.
*/
public class TopicProducer<E extends Event> implements EventProducer<E> {
@@ -44,26 +44,17 @@ public class TopicProducer<E extends Event> implements EventProducer<E> {
private Node node;
private ConfigurationAdmin configurationAdmin;
- /**
- * Initialization method.
- */
public void init() {
if (topic == null) {
topic = instance.getTopic(Constants.TOPIC);
}
}
- /**
- * Destruction method.
- */
public void destroy() {
+ // nothing to do
}
- /**
- * Propagates an event into the distributed {@code ITopic}.
- *
- * @param event
- */
+ @Override
public void produce(E event) {
if (this.getSwitch().getStatus().equals(SwitchStatus.ON) || event.getForce() || event instanceof Result) {
event.setSourceNode(node);
@@ -75,6 +66,7 @@ public class TopicProducer<E extends Event> implements EventProducer<E> {
}
}
+ @Override
public Switch getSwitch() {
// load the switch status from the config
try {
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastConfigurationManager.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastConfigurationManager.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastConfigurationManager.java
index 9475949..1d7501b 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastConfigurationManager.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastConfigurationManager.java
@@ -25,6 +25,10 @@ import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
+/**
+ * Hazelcast configuration manager.
+ * It loads hazelcast.xml configuration file.
+ */
public class HazelcastConfigurationManager {
private static final transient Logger LOGGER = LoggerFactory.getLogger(HazelcastServiceFactory.class);
@@ -34,9 +38,9 @@ public class HazelcastConfigurationManager {
private Set<String> discoveredMemberSet = new LinkedHashSet<String>();
/**
- * Builds a Hazelcast {@link com.hazelcast.config.Config}
+ * Build a Hazelcast {@link com.hazelcast.config.Config}.
*
- * @return
+ * @return the Hazelcast configuration.
*/
public Config getHazelcastConfig() {
System.setProperty("hazelcast.config", xmlConfigLocation);
@@ -49,9 +53,9 @@ public class HazelcastConfigurationManager {
}
/**
- * Updates Hazelcast Instance.
+ * Update configuration of a Hazelcast instance.
*
- * @param properties
+ * @param properties the updated configuration properties.
*/
public boolean isUpdated(Map properties) {
Boolean updated = Boolean.FALSE;
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactory.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactory.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactory.java
index 5cb1341..49c98ad 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactory.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactory.java
@@ -15,20 +15,16 @@ package org.apache.karaf.cellar.hazelcast.factory;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
-import com.hazelcast.config.Config;
+
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import org.apache.karaf.cellar.core.utils.CombinedClassLoader;
import org.osgi.framework.BundleContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
- * A factory for a Hazelcast Instance, which integration with OSGi Service Registry and Config Admin.
+ * Factory for Hazelcast instance, including integration with OSGi ServiceRegistry and ConfigAdmin.
*/
-public class HazelcastServiceFactory {
-
- private static final transient Logger LOGGER = LoggerFactory.getLogger(HazelcastServiceFactory.class);
+public class HazelcastServiceFactory {
private BundleContext bundleContext;
private CombinedClassLoader combinedClassLoader;
@@ -38,7 +34,6 @@ public class HazelcastServiceFactory {
private CountDownLatch instanceLatch = new CountDownLatch(1);
private HazelcastInstance instance;
-
public void init() {
if (combinedClassLoader != null) {
combinedClassLoader.addBundle(bundleContext.getBundle());
@@ -57,26 +52,26 @@ public class HazelcastServiceFactory {
}
/**
- * Returs a Hazelcast instance from service registry.
+ * Return the local Hazelcast instance.
*
- * @return
+ * @return the Hazelcast instance.
*/
public HazelcastInstance getInstance() throws InterruptedException {
if (instance == null) {
- initializationLatch.await();
- this.instance = buildInstance();
+ initializationLatch.await();
+ this.instance = buildInstance();
instanceLatch.countDown();
}
return instance;
}
/**
- * Builds a {@link HazelcastInstance}
+ * Build a {@link HazelcastInstance}.
*
- * @return
+ * @return the Hazelcast instance.
*/
private HazelcastInstance buildInstance() {
- if(combinedClassLoader != null) {
+ if (combinedClassLoader != null) {
Thread.currentThread().setContextClassLoader(combinedClassLoader);
}
return Hazelcast.newHazelcastInstance(configurationManager.getHazelcastConfig());
@@ -97,4 +92,5 @@ public class HazelcastServiceFactory {
public void setCombinedClassLoader(CombinedClassLoader combinedClassLoader) {
this.combinedClassLoader = combinedClassLoader;
}
+
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/merge/CellarMergePolicy.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/merge/CellarMergePolicy.java b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/merge/CellarMergePolicy.java
index b8002fd..4e40b60 100644
--- a/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/merge/CellarMergePolicy.java
+++ b/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/merge/CellarMergePolicy.java
@@ -1,3 +1,16 @@
+/*
+ * 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.karaf.cellar.hazelcast.merge;
import java.util.LinkedHashSet;
@@ -6,25 +19,29 @@ import java.util.List;
import java.util.Set;
import com.hazelcast.core.MapEntry;
import com.hazelcast.merge.MergePolicy;
-import org.apache.karaf.cellar.core.Group;
import org.apache.karaf.cellar.core.MultiNode;
import org.apache.karaf.cellar.core.utils.CellarUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+ * A Cellar custom Hazelcast merge policy.
+ */
public class CellarMergePolicy implements MergePolicy {
private static final transient Logger LOGGER = LoggerFactory.getLogger(CellarMergePolicy.class);
+
/**
* Returns the value of the entry after the merge
* of entries with the same key. Returning value can be
* You should consider the case where existingEntry is null.
*
- * @param mapName name of the map
- * @param mergingEntry entry merging into the destination cluster
+ * @param mapName name of the map
+ * @param mergingEntry entry merging into the destination cluster
* @param existingEntry existing entry in the destination cluster
* @return final value of the entry. If returns null then no change on the entry.
*/
+ @Override
public Object merge(String mapName, MapEntry mergingEntry, MapEntry existingEntry) {
LOGGER.info("Cellar merge policy triggered merging entry {}, existing entry {}",mergingEntry,existingEntry);
Object mergingDataValue = mergingEntry != null ? mergingEntry.getValue() : null;
@@ -38,7 +55,7 @@ public class CellarMergePolicy implements MergePolicy {
return existingDataValue;
}
- //Merge MultiNodes by merging their members.
+ // merge MultiNodes by merging their members.
else if(MultiNode.class.isAssignableFrom(mergingDataValue.getClass())
&& MultiNode.class.isAssignableFrom(existingDataValue.getClass())) {
@@ -69,23 +86,23 @@ public class CellarMergePolicy implements MergePolicy {
}
/**
- * Merges Sets.
- * @param mergingSet
- * @param existingSet
- * @param <T>
- * @return
+ * Merges sets.
+ *
+ * @param mergingSet the first set to merge.
+ * @param existingSet the second set to merge.
+ * @return a set resulting of the merge of the two others.
*/
public <T> Set<T> merge(Set<T> mergingSet, Set<T> existingSet) {
Set<T> result = new LinkedHashSet<T>();
- //Copy new Set.
+ // copy new Set
if(mergingSet != null && !mergingSet.isEmpty()) {
for(T obj:mergingSet) {
result.add(obj);
}
}
- //Copy existing Set.
+ // copy existing Set
if(existingSet != null && !existingSet.isEmpty()) {
for(T obj:existingSet) {
result.add(obj);
@@ -95,25 +112,24 @@ public class CellarMergePolicy implements MergePolicy {
return result;
}
-
/**
- * Merges Lists.
- * @param mergingList
- * @param existingList
- * @param <T>
- * @return
+ * Merge lists.
+ *
+ * @param mergingList the first list to merge.
+ * @param existingList the second list to merge.
+ * @return a list resulting of the merge of the two others.
*/
public <T> List<T> merge(List<T> mergingList, List<T> existingList) {
List<T> result = new LinkedList<T>();
- //Copy existing List.
+ // copy existing List
if(existingList != null && !existingList.isEmpty()) {
for(T obj:existingList) {
result.add(obj);
}
}
- //Copy new List.
+ // copy new List
if(mergingList != null && !mergingList.isEmpty()) {
for(T obj:mergingList) {
result.add(obj);
@@ -124,10 +140,11 @@ public class CellarMergePolicy implements MergePolicy {
}
/**
- * Merges Strings.
- * @param mergingString
- * @param existingString
- * @return
+ * Merge Strings.
+ *
+ * @param mergingString the first String to merge.
+ * @param existingString the second String to merge.
+ * @return a String resulting of the merge of the two others.
*/
public String merge(String mergingString, String existingString) {
String result = existingString;
@@ -139,4 +156,5 @@ public class CellarMergePolicy implements MergePolicy {
}
return result;
}
+
}
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 2c4b7ce..77bc51e 100644
--- a/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -14,13 +14,11 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
- xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+ xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
-
-
- <!-- Hazelcast hazelcast -->
<bean id="hazelcast" class="com.hazelcast.core.Hazelcast" factory-ref="instanceFactory"
factory-method="getInstance" destroy-method="shutdown"/>
+ <service ref="hazelcast" interface="com.hazelcast.core.HazelcastInstance"/>
<bean id="instanceFactory" class="org.apache.karaf.cellar.hazelcast.factory.HazelcastServiceFactory"
init-method="init" destroy-method="destroy">
@@ -36,7 +34,7 @@
<property name="configurationAdmin" ref="configurationAdmin"/>
</bean>
-
+ <!-- Members Listener -->
<bean id="membershipListener" class="org.apache.karaf.cellar.hazelcast.CellarMembershipListener">
<argument index="0" ref="hazelcast"/>
<property name="synchronizers" ref="synchronizers"/>
@@ -49,8 +47,9 @@
<property name="configurationAdmin" ref="configurationAdmin"/>
<property name="combinedClassLoader" ref="combinedClassLoader"/>
</bean>
+ <service ref="clusterManager" interface="org.apache.karaf.cellar.core.ClusterManager"/>
- <!-- Group Manager -->
+ <!-- Cluster Group Manager -->
<bean id="groupManager" class="org.apache.karaf.cellar.hazelcast.HazelcastGroupManager" init-method="init" destroy-method="destroy">
<property name="instance" ref="hazelcast"/>
<property name="configurationAdmin" ref="configurationAdmin"/>
@@ -58,30 +57,39 @@
<property name="combinedClassLoader" ref="combinedClassLoader"/>
<property name="bundleContext" ref="blueprintBundleContext"/>
</bean>
+ <service ref="groupManager">
+ <interfaces>
+ <value>org.apache.karaf.cellar.core.GroupManager</value>
+ <value>org.osgi.service.cm.ConfigurationListener</value>
+ </interfaces>
+ </service>
+ <!-- Cluster Event Transport Factory -->
<bean id="eventTransportFactory" class="org.apache.karaf.cellar.hazelcast.HazelcastEventTransportFactory">
<property name="dispatcher" ref="dispatcher"/>
<property name="instance" ref="hazelcast"/>
<property name="combinedClassLoader" ref="combinedClassLoader"/>
</bean>
+ <service ref="eventTransportFactory" interface="org.apache.karaf.cellar.core.event.EventTransportFactory"/>
+ <!-- Cellar Extender -->
<bean id="cellarExtender" class="org.apache.karaf.cellar.hazelcast.CellarExtender" init-method="init" destroy-method="destroy">
<property name="combinedClassLoader" ref="combinedClassLoader"/>
<property name="bundleContext" ref="blueprintBundleContext"/>
</bean>
+ <!-- Bundle Combined ClassLoader -->
<bean id="combinedClassLoader" class="org.apache.karaf.cellar.core.utils.CombinedClassLoader" init-method="init" destroy-method="destroy"/>
-
- <!-- Hazelcast Cluster and Node -->
+ <!-- Local Node -->
<bean id="node" factory-ref="clusterManager" factory-method="getNode"/>
- <!-- The distributed topic -->
+ <!-- Cluster Event Topic -->
<bean id="eventTopic" factory-ref="hazelcast" factory-method="getTopic">
<argument value="org.apache.karaf.cellar.event.topic"/>
</bean>
- <!-- Consumer -->
+ <!-- Cluster Event Consumer -->
<bean id="consumer" class="org.apache.karaf.cellar.hazelcast.TopicConsumer" init-method="init"
destroy-method="destroy">
<property name="instance" ref="hazelcast"/>
@@ -90,108 +98,93 @@
<property name="configurationAdmin" ref="configurationAdmin"/>
</bean>
- <!-- Producer -->
+ <!-- Cluster Event Producer -->
<bean id="producer" class="org.apache.karaf.cellar.hazelcast.TopicProducer" init-method="init">
<property name="instance" ref="hazelcast"/>
<property name="node" ref="node"/>
<property name="configurationAdmin" ref="configurationAdmin"/>
</bean>
+ <service ref="producer" interface="org.apache.karaf.cellar.core.event.EventProducer"/>
+ <!-- Execution Context -->
<bean id="executionContext" class="org.apache.karaf.cellar.core.command.ClusteredExecutionContext">
<property name="producer" ref="producer"/>
<property name="commandStore" ref="commandStore"/>
</bean>
+ <service ref="executionContext" interface="org.apache.karaf.cellar.core.command.ExecutionContext"/>
- <!-- Producer Switch Handler -->
+ <!-- Handler For Cluster Producer Switch Command Event -->
<bean id="producerSwitchCommandHandler" class="org.apache.karaf.cellar.core.control.ProducerSwitchCommandHandler">
<property name="producer" ref="producer"/>
<property name="configurationAdmin" ref="configurationAdmin"/>
</bean>
+ <service ref="producerSwitchCommandHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
+ <!-- Handler For Cluster Producer Switch Result Event -->
<bean id="producerSwitchResultHandler" class="org.apache.karaf.cellar.core.control.ProducerSwitchResultHandler">
<property name="commandStore" ref="commandStore"/>
</bean>
+ <service ref="producerSwitchResultHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <!-- Consumer Switch Event Handler -->
+ <!-- Handler For Cluster Consumer Switch Command Event -->
<bean id="consumerSwitchCommandHandler" class="org.apache.karaf.cellar.core.control.ConsumerSwitchCommandHandler">
<property name="producer" ref="producer"/>
<property name="consumer" ref="consumer"/>
<property name="configurationAdmin" ref="configurationAdmin"/>
</bean>
+ <service ref="consumerSwitchCommandHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
+ <!-- Handler For Cluster Consumer Switch Result Event -->
<bean id="consumerSwitchResultHandler" class="org.apache.karaf.cellar.core.control.ConsumerSwitchResultHandler">
<property name="commandStore" ref="commandStore"/>
</bean>
+ <service ref="consumerSwitchResultHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <!-- Managed Handlers Command Handlers -->
+ <!-- Handler For Cluster Manage Handlers Command Event -->
<bean id="manageHandlersCommandHandler" class="org.apache.karaf.cellar.core.control.ManageHandlersCommandHandler">
<property name="producer" ref="producer"/>
<property name="configurationAdmin" ref="configurationAdmin"/>
</bean>
+ <service ref="manageHandlersCommandHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
+ <!-- Handler For Cluster Manage Handlers Result Event -->
<bean id="manageHandlersResultHandler" class="org.apache.karaf.cellar.core.control.ManageHandlersResultHandler">
<property name="commandStore" ref="commandStore"/>
</bean>
+ <service ref="manageHandlersResultHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <!-- Managed Group Command Handlers -->
+ <!-- Handler For Cluster Manager Group Command Event -->
<bean id="manageGroupCommandHandler" class="org.apache.karaf.cellar.core.control.ManageGroupCommandHandler">
<property name="producer" ref="producer"/>
<property name="clusterManager" ref="clusterManager"/>
<property name="groupManager" ref="groupManager"/>
</bean>
+ <service ref="manageGroupCommandHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
+ <!-- Handlers For Cluster Manager Group Result Event -->
<bean id="manageGroupResultHandler" class="org.apache.karaf.cellar.core.control.ManageGroupResultHandler">
<property name="commandStore" ref="commandStore"/>
</bean>
+ <service ref="manageGroupResultHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
<!-- Command Store -->
<bean id="commandStore" class="org.apache.karaf.cellar.core.command.BasicCommandStore"/>
+ <service ref="commandStore" interface="org.apache.karaf.cellar.core.command.CommandStore"/>
-
+ <!-- Cluster Event Dispatcher -->
<bean id="dispatcher" class="org.apache.karaf.cellar.core.event.EventHandlerRegistryDispatcher" init-method="init">
<property name="handlerRegistry" ref="registry"/>
</bean>
-
- <!-- Hazelcast Instance Service-->
- <service ref="hazelcast" interface="com.hazelcast.core.HazelcastInstance"/>
-
- <service ref="producer" interface="org.apache.karaf.cellar.core.event.EventProducer"/>
-
- <service ref="clusterManager" interface="org.apache.karaf.cellar.core.ClusterManager"/>
- <service ref="eventTransportFactory" interface="org.apache.karaf.cellar.core.event.EventTransportFactory"/>
- <service ref="executionContext" interface="org.apache.karaf.cellar.core.command.ExecutionContext"/>
- <service ref="commandStore" interface="org.apache.karaf.cellar.core.command.CommandStore"/>
-
- <service ref="groupManager">
- <interfaces>
- <value>org.apache.karaf.cellar.core.GroupManager</value>
- <value>org.osgi.service.cm.ConfigurationListener</value>
- </interfaces>
- </service>
-
- <!-- Event Handler Service -->
- <service ref="consumerSwitchCommandHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <service ref="consumerSwitchResultHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <service ref="producerSwitchCommandHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <service ref="producerSwitchResultHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <service ref="manageHandlersCommandHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <service ref="manageHandlersResultHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <service ref="manageGroupCommandHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
- <service ref="manageGroupResultHandler" interface="org.apache.karaf.cellar.core.event.EventHandler"/>
-
<reference id="registry" interface="org.apache.karaf.cellar.core.event.EventHandlerRegistry"/>
<reference id="configurationAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
<reference-list id="discoveryServices" availability="optional"
interface="org.apache.karaf.cellar.core.discovery.DiscoveryService"/>
-
- <!-- Group Consumer & Producer Serices -->
<reference-list id="groupEventProducers" availability="optional" interface="org.apache.karaf.cellar.core.event.EventProducer"
filter="(type = group)"/>
<reference-list id="groupEventConsumers" availability="optional" interface="org.apache.karaf.cellar.core.event.EventConsumer"
filter="(type = group)"/>
-
<reference-list id="synchronizers" availability="optional" interface="org.apache.karaf.cellar.core.Synchronizer"/>
</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/b43a255a/hazelcast/src/test/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactoryTest.java
----------------------------------------------------------------------
diff --git a/hazelcast/src/test/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactoryTest.java b/hazelcast/src/test/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactoryTest.java
index 0146b43..9b9ad75 100644
--- a/hazelcast/src/test/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactoryTest.java
+++ b/hazelcast/src/test/java/org/apache/karaf/cellar/hazelcast/factory/HazelcastServiceFactoryTest.java
@@ -15,30 +15,17 @@ package org.apache.karaf.cellar.hazelcast.factory;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
-import org.junit.After;
import org.junit.Assert;
-import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
-import java.util.Properties;
-
/**
* Hazelcast service factory test.
*/
@RunWith(JUnit4.class)
public class HazelcastServiceFactoryTest {
- @Before
- public void setUp() throws Exception {
- }
-
- @After
- public void tearDown() throws Exception {
-
- }
-
@Test
public void testDefaultInstance() throws InterruptedException {
HazelcastServiceFactory factory = new HazelcastServiceFactory();