summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core/src
diff options
context:
space:
mode:
authorAndrew MacBean <macbean@apache.org>2014-07-14 10:26:17 +0000
committerAndrew MacBean <macbean@apache.org>2014-07-14 10:26:17 +0000
commit422327a1b3effa916465ad033530b702de3c97e0 (patch)
treeda11e8d60a02793ef8d9400d23587d8553b63655 /qpid/java/broker-core/src
parent60d0130f832efaf2935a9b6d485b6ff4b4ad1bd8 (diff)
downloadqpid-python-422327a1b3effa916465ad033530b702de3c97e0.tar.gz
QPID-5891: [Java Broker] Add BDB HA operational logging functionality
Work completed by Alex Rudyy <orudyy@apache.org> and me. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1610379 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-core/src')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailabilityMessages.java502
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailability_logmessages.properties35
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/LogSubjectFormat.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/VirtualHostNodeLogSubject.java33
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java9
5 files changed, 580 insertions, 1 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailabilityMessages.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailabilityMessages.java
new file mode 100644
index 0000000000..9e497efcd2
--- /dev/null
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailabilityMessages.java
@@ -0,0 +1,502 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.qpid.server.logging.messages;
+
+import static org.apache.qpid.server.logging.AbstractMessageLogger.DEFAULT_LOG_HIERARCHY_PREFIX;
+
+import org.apache.log4j.Logger;
+import org.apache.qpid.server.configuration.BrokerProperties;
+import org.apache.qpid.server.logging.LogMessage;
+
+import java.text.MessageFormat;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+/**
+ * DO NOT EDIT DIRECTLY, THIS FILE WAS GENERATED.
+ *
+ * Generated using GenerateLogMessages and LogMessages.vm
+ * This file is based on the content of HighAvailability_logmessages.properties
+ *
+ * To regenerate, edit the templates/properties and run the build with -Dgenerate=true
+ */
+public class HighAvailabilityMessages
+{
+ private static ResourceBundle _messages;
+ private static Locale _currentLocale = BrokerProperties.getLocale();
+
+ public static final String HIGHAVAILABILITY_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability";
+ public static final String STOPPED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.stopped";
+ public static final String INTRUDER_DETECTED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.intruder_detected";
+ public static final String STARTED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.started";
+ public static final String TRANSFER_MASTER_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.transfer_master";
+ public static final String QUORUM_OVERRIDE_CHANGED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.quorum_override_changed";
+ public static final String DETACHED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.detached";
+ public static final String MAJORITY_LOST_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.majority_lost";
+ public static final String PRIORITY_CHANGED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.priority_changed";
+ public static final String ATTACHED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.attached";
+ public static final String ADDED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.added";
+ public static final String DELETED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.deleted";
+ public static final String ROLE_CHANGED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.role_changed";
+ public static final String DESIGNATED_PRIMARY_CHANGED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.designated_primary_changed";
+
+ static
+ {
+ Logger.getLogger(HIGHAVAILABILITY_LOG_HIERARCHY);
+ Logger.getLogger(STOPPED_LOG_HIERARCHY);
+ Logger.getLogger(INTRUDER_DETECTED_LOG_HIERARCHY);
+ Logger.getLogger(STARTED_LOG_HIERARCHY);
+ Logger.getLogger(TRANSFER_MASTER_LOG_HIERARCHY);
+ Logger.getLogger(QUORUM_OVERRIDE_CHANGED_LOG_HIERARCHY);
+ Logger.getLogger(DETACHED_LOG_HIERARCHY);
+ Logger.getLogger(MAJORITY_LOST_LOG_HIERARCHY);
+ Logger.getLogger(PRIORITY_CHANGED_LOG_HIERARCHY);
+ Logger.getLogger(ATTACHED_LOG_HIERARCHY);
+ Logger.getLogger(ADDED_LOG_HIERARCHY);
+ Logger.getLogger(DELETED_LOG_HIERARCHY);
+ Logger.getLogger(ROLE_CHANGED_LOG_HIERARCHY);
+ Logger.getLogger(DESIGNATED_PRIMARY_CHANGED_LOG_HIERARCHY);
+
+ _messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.HighAvailability_logmessages", _currentLocale);
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1012 : The node ''{0}'' from the replication group ''{1}'' is stopped.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage STOPPED(String param1, String param2)
+ {
+ String rawMessage = _messages.getString("STOPPED");
+
+ final Object[] messageArguments = {param1, param2};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return STOPPED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1007: Intruder node ''{0}'' from ''{1}'' is detected in replication group ''{2}''</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage INTRUDER_DETECTED(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("INTRUDER_DETECTED");
+
+ final Object[] messageArguments = {param1, param2, param3};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return INTRUDER_DETECTED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1013 : The node ''{0}'' from the replication group ''{1}'' is started.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage STARTED(String param1, String param2)
+ {
+ String rawMessage = _messages.getString("STARTED");
+
+ final Object[] messageArguments = {param1, param2};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return STARTED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1014 : Transfer master to ''{0}'' is requested on node ''{1}'' from the replication group ''{2}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage TRANSFER_MASTER(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("TRANSFER_MASTER");
+
+ final Object[] messageArguments = {param1, param2, param3};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return TRANSFER_MASTER_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1009 : The quorum override attribute of node ''{0}'' from the replication group ''{1}'' is set to ''{2}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage QUORUM_OVERRIDE_CHANGED(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("QUORUM_OVERRIDE_CHANGED");
+
+ final Object[] messageArguments = {param1, param2, param3};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return QUORUM_OVERRIDE_CHANGED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1003 : The node ''{0}'' detached from the replication group ''{1}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage DETACHED(String param1, String param2)
+ {
+ String rawMessage = _messages.getString("DETACHED");
+
+ final Object[] messageArguments = {param1, param2};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return DETACHED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1006 : A majority of nodes from replication group ''{0}'' is not available for node ''{1}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage MAJORITY_LOST(String param1, String param2)
+ {
+ String rawMessage = _messages.getString("MAJORITY_LOST");
+
+ final Object[] messageArguments = {param1, param2};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return MAJORITY_LOST_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1008 : The priority attribute of node ''{0}'' from the replication group ''{1}'' is set to ''{2}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage PRIORITY_CHANGED(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("PRIORITY_CHANGED");
+
+ final Object[] messageArguments = {param1, param2, param3};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return PRIORITY_CHANGED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1004 : The node ''{0}'' attached to the replication group ''{1}'' with role ''{2}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage ATTACHED(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("ATTACHED");
+
+ final Object[] messageArguments = {param1, param2, param3};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return ATTACHED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1001 : A new node ''{0}'' is added into a replication group ''{1}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage ADDED(String param1, String param2)
+ {
+ String rawMessage = _messages.getString("ADDED");
+
+ final Object[] messageArguments = {param1, param2};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return ADDED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1002 : An existing node ''{0}'' is removed from the replication group ''{1}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage DELETED(String param1, String param2)
+ {
+ String rawMessage = _messages.getString("DELETED");
+
+ final Object[] messageArguments = {param1, param2};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return DELETED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1005 : The role of the node ''{0}'' from the replication group ''{1}'' has changed from ''{2}'' to ''{3}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage ROLE_CHANGED(String param1, String param2, String param3, String param4)
+ {
+ String rawMessage = _messages.getString("ROLE_CHANGED");
+
+ final Object[] messageArguments = {param1, param2, param3, param4};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return ROLE_CHANGED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1010 : The designated primary attribute of node ''{0}'' from the replication group ''{1}'' is set to ''{2}''.</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage DESIGNATED_PRIMARY_CHANGED(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("DESIGNATED_PRIMARY_CHANGED");
+
+ final Object[] messageArguments = {param1, param2, param3};
+ // Create a new MessageFormat to ensure thread safety.
+ // Sharing a MessageFormat and using applyPattern is not thread safe
+ MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale);
+
+ final String message = formatter.format(messageArguments);
+
+ return new LogMessage()
+ {
+ public String toString()
+ {
+ return message;
+ }
+
+ public String getLogHierarchy()
+ {
+ return DESIGNATED_PRIMARY_CHANGED_LOG_HIERARCHY;
+ }
+ };
+ }
+
+
+ private HighAvailabilityMessages()
+ {
+ }
+
+}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailability_logmessages.properties b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailability_logmessages.properties
new file mode 100644
index 0000000000..94df7cc38b
--- /dev/null
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailability_logmessages.properties
@@ -0,0 +1,35 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+
+# HA logging message i18n strings.
+ADDED=HA-1001 : A new node ''{0}'' is added into a replication group ''{1}''.
+DELETED=HA-1002 : An existing node ''{0}'' is removed from the replication group ''{1}''.
+DETACHED=HA-1003 : The node ''{0}'' detached from the replication group ''{1}''.
+ATTACHED=HA-1004 : The node ''{0}'' attached to the replication group ''{1}'' with role ''{2}''.
+ROLE_CHANGED=HA-1005 : The role of the node ''{0}'' from the replication group ''{1}'' has changed from ''{2}'' to ''{3}''.
+MAJORITY_LOST=HA-1006 : A majority of nodes from replication group ''{0}'' is not available for node ''{1}''.
+INTRUDER_DETECTED=HA-1007: Intruder node ''{0}'' from ''{1}'' is detected in replication group ''{2}''
+PRIORITY_CHANGED=HA-1008 : The priority attribute of node ''{0}'' from the replication group ''{1}'' is set to ''{2}''.
+QUORUM_OVERRIDE_CHANGED=HA-1009 : The quorum override attribute of node ''{0}'' from the replication group ''{1}'' is set to ''{2}''.
+DESIGNATED_PRIMARY_CHANGED=HA-1010 : The designated primary attribute of node ''{0}'' from the replication group ''{1}'' is set to ''{2}''.
+STOPPED=HA-1011 : The node ''{0}'' from the replication group ''{1}'' is stopped.
+STARTED=HA-1012 : The node ''{0}'' from the replication group ''{1}'' is started.
+TRANSFER_MASTER=HA-1013 : Transfer master to ''{0}'' is requested on node ''{1}'' from the replication group ''{2}''.
+
+
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/LogSubjectFormat.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/LogSubjectFormat.java
index 7611ee1a88..edb78369ae 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/LogSubjectFormat.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/LogSubjectFormat.java
@@ -115,4 +115,6 @@ public class LogSubjectFormat
* 1 - queue name
*/
public static final String QUEUE_FORMAT = "vh(/{0})/qu({1})";
+
+ public static final String VIRTUAL_HOST_NODE_FORMAT = "vhn(/{0}))";
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/VirtualHostNodeLogSubject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/VirtualHostNodeLogSubject.java
new file mode 100644
index 0000000000..fad9a91841
--- /dev/null
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/VirtualHostNodeLogSubject.java
@@ -0,0 +1,33 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.qpid.server.logging.subjects;
+
+import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.VIRTUAL_HOST_NODE_FORMAT;
+
+import org.apache.qpid.server.model.VirtualHostNode;
+
+public class VirtualHostNodeLogSubject extends AbstractLogSubject
+{
+ public VirtualHostNodeLogSubject(String nodeName)
+ {
+ setLogStringWithFormat(VIRTUAL_HOST_NODE_FORMAT, nodeName);
+ }
+}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
index b21fcd704f..c9220b7b74 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
@@ -24,6 +24,7 @@ import org.apache.log4j.Logger;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.messages.ConfigStoreMessages;
import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
+import org.apache.qpid.server.logging.subjects.VirtualHostNodeLogSubject;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -51,6 +52,7 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode<
private final Broker<?> _broker;
private final AtomicReference<State> _state = new AtomicReference<State>(State.UNINITIALIZED);
private final EventLogger _eventLogger;
+ private final VirtualHostNodeLogSubject _virtualHostNodeLogSubject;
private DurableConfigurationStore _durableConfigurationStore;
@@ -63,6 +65,7 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode<
_broker = parent;
SystemContext<?> systemContext = _broker.getParent(SystemContext.class);
_eventLogger = systemContext.getEventLogger();
+ _virtualHostNodeLogSubject = new VirtualHostNodeLogSubject(getName());
}
@@ -89,7 +92,7 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode<
@StateTransition( currentState = {State.UNINITIALIZED, State.STOPPED, State.ERRORED }, desiredState = State.ACTIVE )
- private void doActivate()
+ protected void doActivate()
{
try
{
@@ -243,4 +246,8 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode<
protected abstract void activate();
+ public VirtualHostNodeLogSubject getVirtualHostNodeLogSubject()
+ {
+ return _virtualHostNodeLogSubject;
+ }
}