ARTEMIS-231 fixing wrong notification exceptions
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/fcdfbdb8 Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/fcdfbdb8 Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/fcdfbdb8 Branch: refs/heads/master Commit: fcdfbdb82e740be876c5672358e9f845b7e766f2 Parents: b0b5ca6 Author: Clebert Suconic <[email protected]> Authored: Thu Sep 24 21:29:50 2015 -0400 Committer: Clebert Suconic <[email protected]> Committed: Thu Sep 24 22:31:28 2015 -0400 ---------------------------------------------------------------------- .../core/postoffice/impl/PostOfficeImpl.java | 33 +++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/fcdfbdb8/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java ---------------------------------------------------------------------- diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java index 85ac2ef..8b2120d 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java @@ -251,7 +251,8 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding SimpleString filterString = props.getSimpleStringProperty(ManagementHelper.HDR_FILTERSTRING); if (!props.containsProperty(ManagementHelper.HDR_DISTANCE)) { - throw ActiveMQMessageBundle.BUNDLE.distancenotSpecified(); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / BINDING_ADDED: HDR_DISANCE not specified, giving up propagation on notifications"); + return; } int distance = props.getIntProperty(ManagementHelper.HDR_DISTANCE); @@ -266,7 +267,8 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding TypedProperties props = notification.getProperties(); if (!props.containsProperty(ManagementHelper.HDR_CLUSTER_NAME)) { - throw new IllegalStateException("No cluster name"); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / BINDING_REMOVED: HDR_CLUSTER_NAME not specified, giving up propagation on notifications"); + return; } SimpleString clusterName = props.getSimpleStringProperty(ManagementHelper.HDR_CLUSTER_NAME); @@ -274,7 +276,8 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding QueueInfo info = queueInfos.remove(clusterName); if (info == null) { - throw new IllegalStateException("Cannot find queue info for queue " + clusterName); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / BINDING_REMOVED: Cannot find queue info for queue \" + clusterName"); + return; } break; @@ -283,7 +286,8 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding TypedProperties props = notification.getProperties(); if (!props.containsProperty(ManagementHelper.HDR_CLUSTER_NAME)) { - throw new IllegalStateException("No cluster name"); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / CONSUMER_CREATED: No clusterName defined"); + return; } SimpleString clusterName = props.getSimpleStringProperty(ManagementHelper.HDR_CLUSTER_NAME); @@ -293,7 +297,8 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding QueueInfo info = queueInfos.get(clusterName); if (info == null) { - throw new IllegalStateException("Cannot find queue info for queue " + clusterName); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / CONSUMER_CREATED: Could not find queue created on clusterName = " + clusterName); + return; } info.incrementConsumers(); @@ -311,7 +316,8 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding } if (!props.containsProperty(ManagementHelper.HDR_DISTANCE)) { - throw new IllegalStateException("No distance"); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / CONSUMER_CREATED: No distance specified"); + return; } int distance = props.getIntProperty(ManagementHelper.HDR_DISTANCE); @@ -320,7 +326,8 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding SimpleString queueName = props.getSimpleStringProperty(ManagementHelper.HDR_ROUTING_NAME); if (queueName == null) { - throw new IllegalStateException("No queue name"); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / CONSUMER_CREATED: No queue defined"); + return; } Binding binding = getBinding(queueName); @@ -347,7 +354,8 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding SimpleString clusterName = props.getSimpleStringProperty(ManagementHelper.HDR_CLUSTER_NAME); if (clusterName == null) { - throw new IllegalStateException("No cluster name"); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / CONSUMER_CLOSED: No cluster name"); + return; } SimpleString filterString = props.getSimpleStringProperty(ManagementHelper.HDR_FILTERSTRING); @@ -368,7 +376,8 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding if (info.getNumberOfConsumers() == 0) { if (!props.containsProperty(ManagementHelper.HDR_DISTANCE)) { - throw new IllegalStateException("No cluster name"); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / CONSUMER_CLOSED: HDR_DISTANCE not defined"); + return; } int distance = props.getIntProperty(ManagementHelper.HDR_DISTANCE); @@ -377,13 +386,15 @@ public class PostOfficeImpl implements PostOffice, NotificationListener, Binding SimpleString queueName = props.getSimpleStringProperty(ManagementHelper.HDR_ROUTING_NAME); if (queueName == null) { - throw new IllegalStateException("No queue name"); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / CONSUMER_CLOSED: No queue name"); + return; } Binding binding = getBinding(queueName); if (binding == null) { - throw new IllegalStateException("No queue " + queueName); + ActiveMQServerLogger.LOGGER.debug("PostOffice notification / CONSUMER_CLOSED: Could not find queue " + queueName); + return; } Queue queue = (Queue) binding.getBindable();
