Repository: incubator-stratos Updated Branches: refs/heads/master 6dd14e20b -> 75d5b26e5
notifiers should be notified even if the cluster is exist - we share the same topology in multiple delegators Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/75d5b26e Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/75d5b26e Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/75d5b26e Branch: refs/heads/master Commit: 75d5b26e5fea5b41a3c03543092ad141a9dbf619 Parents: 6dd14e2 Author: Nirmal Fernando <[email protected]> Authored: Thu Mar 27 13:06:33 2014 +0530 Committer: Nirmal Fernando <[email protected]> Committed: Thu Mar 27 13:06:33 2014 +0530 ---------------------------------------------------------------------- .../topology/TopologyEventMessageQueue.java | 21 +++++++------------- .../ClusterCreatedMessageProcessor.java | 15 +++++++------- .../topology/TopologyMessageProcessorChain.java | 1 + .../topology/TopologyEventMessageDelegator.java | 2 +- 4 files changed, 17 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/75d5b26e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/TopologyEventMessageQueue.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/TopologyEventMessageQueue.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/TopologyEventMessageQueue.java index f9104de..aeb08b3 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/TopologyEventMessageQueue.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/TopologyEventMessageQueue.java @@ -27,19 +27,12 @@ import javax.jms.TextMessage; * Implements a blocking queue for managing topology event messages. */ public class TopologyEventMessageQueue extends LinkedBlockingQueue<TextMessage>{ - private static volatile TopologyEventMessageQueue instance; + + private static class InstanceHolder { + private static final TopologyEventMessageQueue INSTANCE = new TopologyEventMessageQueue(); + } - private TopologyEventMessageQueue(){ - } - - public static TopologyEventMessageQueue getInstance() { - if (instance == null) { - synchronized (TopologyEventMessageQueue.class){ - if (instance == null) { - instance = new TopologyEventMessageQueue(); - } - } - } - return instance; - } + public static TopologyEventMessageQueue getInstance() { + return InstanceHolder.INSTANCE; + } } http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/75d5b26e/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java index 24f4314..b8d86a6 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/ClusterCreatedMessageProcessor.java @@ -98,14 +98,15 @@ public class ClusterCreatedMessageProcessor extends MessageProcessor { log.warn(String.format("Cluster already exists in service: [service] %s [cluster] %s", event.getServiceName(), event.getClusterId())); } - return false; - } + } else { - // Apply changes to the topology - service.addCluster(cluster); - if (log.isInfoEnabled()) { - log.info(String.format("Cluster created: %s", cluster.toString())); - } + // Apply changes to the topology + service.addCluster(cluster); + if (log.isInfoEnabled()) { + log.info(String.format("Cluster created: %s", + cluster.toString())); + } + } // Notify event listeners notifyEventListeners(event); http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/75d5b26e/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java index ad18c0c..7415c1f 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/TopologyMessageProcessorChain.java @@ -92,6 +92,7 @@ public class TopologyMessageProcessorChain extends MessageProcessorChain { completeTopologyMessageProcessor.addEventListener(eventListener); } else if (eventListener instanceof ClusterCreatedEventListener) { clusterCreatedMessageProcessor.addEventListener(eventListener); + log.info("Messaging: added ClusterCreatedEventListener"); } else if (eventListener instanceof ClusterRemovedEventListener) { clusterRemovedMessageProcessor.addEventListener(eventListener); } else if (eventListener instanceof InstanceSpawnedEventListener) { http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/75d5b26e/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyEventMessageDelegator.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyEventMessageDelegator.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyEventMessageDelegator.java index ce641bc..a06bbe3 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyEventMessageDelegator.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyEventMessageDelegator.java @@ -73,7 +73,7 @@ public class TopologyEventMessageDelegator implements Runnable { String json = message.getText(); if (log.isDebugEnabled()) { - log.debug(String.format("Topology event message received from queue: %s", type)); + log.debug(String.format("Topology event message [%s] received from queue: %s", type, messageQueue.getClass())); } try {
