Repository: activemq-artemis Updated Branches: refs/heads/1.x 1f054f04a -> 20d627f2b
ARTEMIS-992 deal w/bad connector-ref in cluster-cxn (cherry picked from commit c7e0a921819cd39896e11bbfa008432633a88581) Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/2b18db6a Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/2b18db6a Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/2b18db6a Branch: refs/heads/1.x Commit: 2b18db6a1cf39d9ca46e64962ff34a3d305edd4d Parents: 1f054f0 Author: Justin Bertram <[email protected]> Authored: Thu Feb 23 14:41:07 2017 -0600 Committer: Clebert Suconic <[email protected]> Committed: Thu Feb 23 16:53:56 2017 -0500 ---------------------------------------------------------------------- .../artemis/core/deployers/impl/FileConfigurationParser.java | 5 +++++ .../activemq/artemis/core/server/ActiveMQServerLogger.java | 3 +++ .../activemq/artemis/core/server/cluster/ClusterController.java | 4 ++++ 3 files changed, 12 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/2b18db6a/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java ---------------------------------------------------------------------- diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java index bfb9f84..087a6fb 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java @@ -1268,6 +1268,11 @@ public final class FileConfigurationParser extends XMLConfigurationUtil { String connectorName = getString(e, "connector-ref", null, Validators.NOT_NULL_OR_EMPTY); + if (!mainConfig.getConnectorConfigurations().containsKey(connectorName)) { + ActiveMQServerLogger.LOGGER.connectorRefNotFound(connectorName, name); + return; + } + boolean duplicateDetection = getBoolean(e, "use-duplicate-detection", ActiveMQDefaultConfiguration.isDefaultClusterDuplicateDetection()); MessageLoadBalancingType messageLoadBalancingType; http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/2b18db6a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerLogger.java ---------------------------------------------------------------------- diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerLogger.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerLogger.java index 7e219c6..332e890 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerLogger.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerLogger.java @@ -1283,6 +1283,9 @@ public interface ActiveMQServerLogger extends BasicLogger { format = Message.Format.MESSAGE_FORMAT) void negativeGlobalAddressSize(long size); + @LogMessage(level = Logger.Level.WARN) + @Message(id = 222217, value = "Cannot find connector-ref {0}. The cluster-connection {1} will not be deployed.", format = Message.Format.MESSAGE_FORMAT) + void connectorRefNotFound(String connectorRef, String clusterConnection); @LogMessage(level = Logger.Level.ERROR) @Message(id = 224000, value = "Failure in initialisation", format = Message.Format.MESSAGE_FORMAT) http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/2b18db6a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java ---------------------------------------------------------------------- diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java index 15595f8..b47dca9 100644 --- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java +++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java @@ -317,6 +317,10 @@ public class ClusterController implements ActiveMQComponent { @Override public void handlePacket(Packet packet) { + if (!isStarted()) { + return; + } + if (!authorized) { if (packet.getType() == PacketImpl.CLUSTER_CONNECT) { ClusterConnection clusterConnection = acceptorUsed.getClusterConnection();
