summaryrefslogtreecommitdiff
path: root/java/broker/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'java/broker/src/main')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java14
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/Main.java10
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java4
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/LogActor.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java96
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java9
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/BrokerActor.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java18
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java5
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java10
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties297
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages_en_US.properties132
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java20
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java7
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java12
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBinding.java4
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java10
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java4
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/store/AbstractMessageStore.java4
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java12
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java4
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java6
-rwxr-xr-xjava/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java1
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java4
27 files changed, 403 insertions, 306 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java b/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
index f0f65cc4c8..333c1b9cac 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
@@ -133,7 +133,7 @@ public class AMQChannel
_actor = new AMQPChannelActor(this, session.getLogActor().getRootMessageLogger());
_logSubject = new ChannelLogSubject(this);
- _actor.message(ChannelMessages.CHN_1001());
+ _actor.message(ChannelMessages.CHN_CREATE());
_messageStore = messageStore;
@@ -417,7 +417,7 @@ public class AMQChannel
{
_closing = closing;
- CurrentActor.get().message(_logSubject, ChannelMessages.CHN_1003());
+ CurrentActor.get().message(_logSubject, ChannelMessages.CHN_CLOSE());
}
private void unsubscribeAllConsumers() throws AMQException
@@ -737,7 +737,7 @@ public class AMQChannel
// Log Flow Started before we start the subscriptions
if (!suspended)
{
- _actor.message(_logSubject, ChannelMessages.CHN_1002("Started"));
+ _actor.message(_logSubject, ChannelMessages.CHN_FLOW("Started"));
}
@@ -788,7 +788,7 @@ public class AMQChannel
// stopped.
if (suspended)
{
- _actor.message(_logSubject, ChannelMessages.CHN_1002("Stopped"));
+ _actor.message(_logSubject, ChannelMessages.CHN_FLOW("Stopped"));
}
}
@@ -904,7 +904,7 @@ public class AMQChannel
public void setCredit(final long prefetchSize, final int prefetchCount)
{
- _actor.message(ChannelMessages.CHN_1004(prefetchSize, prefetchCount));
+ _actor.message(ChannelMessages.CHN_PREFETCH_SIZE(prefetchSize, prefetchCount));
_creditManager.setCreditLimits(prefetchSize, prefetchCount);
}
@@ -1163,7 +1163,7 @@ public class AMQChannel
if(_blocking.compareAndSet(false,true))
{
- _actor.message(_logSubject, ChannelMessages.CHN_1005(queue.getName().toString()));
+ _actor.message(_logSubject, ChannelMessages.CHN_FLOW_ENFORCED(queue.getName().toString()));
flow(false);
}
}
@@ -1175,7 +1175,7 @@ public class AMQChannel
{
if(_blocking.compareAndSet(true,false))
{
- _actor.message(_logSubject, ChannelMessages.CHN_1006());
+ _actor.message(_logSubject, ChannelMessages.CHN_FLOW_REMOVED());
flow(true);
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/Main.java b/java/broker/src/main/java/org/apache/qpid/server/Main.java
index 0a2bd6e8b0..845983857c 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/Main.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/Main.java
@@ -266,7 +266,7 @@ public class Main
}
else
{
- CurrentActor.get().message(BrokerMessages.BRK_1006(configFile.getAbsolutePath()));
+ CurrentActor.get().message(BrokerMessages.BRK_CONFIG(configFile.getAbsolutePath()));
}
String logConfig = commandLine.getOptionValue("l");
@@ -417,7 +417,7 @@ public class Main
serverConfig.getNetworkConfiguration(), null);
ApplicationRegistry.getInstance().addAcceptor(new InetSocketAddress(bindAddress, port),
new QpidAcceptor(driver,"TCP"));
- CurrentActor.get().message(BrokerMessages.BRK_1002("TCP", port));
+ CurrentActor.get().message(BrokerMessages.BRK_LISTENING("TCP", port));
}
@@ -431,14 +431,14 @@ public class Main
new AMQProtocolEngineFactory(), serverConfig.getNetworkConfiguration(), sslFactory);
ApplicationRegistry.getInstance().addAcceptor(new InetSocketAddress(bindAddress, serverConfig.getSSLPort()),
new QpidAcceptor(driver,"TCP"));
- CurrentActor.get().message(BrokerMessages.BRK_1002("TCP/SSL", serverConfig.getSSLPort()));
+ CurrentActor.get().message(BrokerMessages.BRK_LISTENING("TCP/SSL", serverConfig.getSSLPort()));
}
//fixme qpid.AMQP should be using qpidproperties to get value
_brokerLogger.info("Qpid Broker Ready :" + QpidProperties.getReleaseVersion()
+ " build: " + QpidProperties.getBuildVersion());
- CurrentActor.get().message(BrokerMessages.BRK_1004());
+ CurrentActor.get().message(BrokerMessages.BRK_READY());
}
finally
@@ -558,7 +558,7 @@ public class Main
{
if (logConfigFile.exists() && logConfigFile.canRead())
{
- CurrentActor.get().message(BrokerMessages.BRK_1007(logConfigFile.getAbsolutePath()));
+ CurrentActor.get().message(BrokerMessages.BRK_LOG_CONFIG(logConfigFile.getAbsolutePath()));
System.out.println("Configuring logger using configuration file " + logConfigFile.getAbsolutePath());
if (logWatchTime > 0)
{
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
index 7983c62443..33af910f1a 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
@@ -185,7 +185,7 @@ public abstract class AbstractExchange implements Exchange, Managable
_logSubject = new ExchangeLogSubject(this, this.getVirtualHost());
// Log Exchange creation
- CurrentActor.get().message(ExchangeMessages.EXH_1001(String.valueOf(getType()), String.valueOf(name), durable));
+ CurrentActor.get().message(ExchangeMessages.EXH_CREATED(String.valueOf(getType()), String.valueOf(name), durable));
}
public abstract Logger getLogger();
@@ -216,7 +216,7 @@ public abstract class AbstractExchange implements Exchange, Managable
_alternateExchange.removeReference(this);
}
- CurrentActor.get().message(_logSubject, ExchangeMessages.EXH_1002());
+ CurrentActor.get().message(_logSubject, ExchangeMessages.EXH_DELETED());
}
public String toString()
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/LogActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/LogActor.java
index d5683b3c7b..18f03c2716 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/LogActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/LogActor.java
@@ -57,4 +57,10 @@ public interface LogActor
* @return the RootMessageLogger that is currently in use by this LogActor.
*/
RootMessageLogger getRootMessageLogger();
+
+ /**
+ *
+ * @return the String representing this LogActor
+ */
+ public String getLogMessage();
} \ No newline at end of file
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java
index d4d41bc1d4..a4f178eba7 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java
@@ -40,6 +40,7 @@ import java.text.MessageFormat;
*/
public class AMQPChannelActor extends AbstractActor
{
+ private final String _logString;
/**
* Create a new ChannelActor
@@ -74,5 +75,10 @@ public class AMQPChannelActor extends AbstractActor
channel.getChannelId())
+ "] ";
}
+
+ public String getLogMessage()
+ {
+ return _logString;
+ }
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java
index d459fc0f06..20c416fed0 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java
@@ -54,6 +54,15 @@ public class AMQPConnectionActor extends AbstractActor
*/
public static final String USER_FORMAT = "con:{0}({1}@{2})";
+ // The log string prefix for each message
+ private String _logString;
+
+ // The Session this Actor is representing
+ private AMQProtocolSession _session;
+
+ // Used to stop re-creating the _logString when we reach our final format
+ private boolean _upToDate = false;
+
public AMQPConnectionActor(AMQProtocolSession session, RootMessageLogger rootLogger)
{
super(rootLogger);
@@ -61,55 +70,66 @@ public class AMQPConnectionActor extends AbstractActor
_logString = "[" + MessageFormat.format(SOCKET_FORMAT,
session.getSessionID(),
session.getRemoteAddress())
-
+ "] ";
+
+ _session = session;
}
/**
- * Call when the connection has been authorized so that the logString
- * can be updated with the new user identity.
+ * Update the LogString as the Connection process proceeds.
+ *
+ * When the Session has an authorized ID add that to the string.
*
- * @param session the authorized session
+ * When the Session then gains a Vhost add that to the string, at this point
+ * we can set upToDate = true as the _logString will not need to be updated
+ * from this point onwards.
*/
- public void connectionAuthorized(AMQProtocolSession session)
+ private void updateLogString()
{
- _logString = "[" + MessageFormat.format(USER_FORMAT,
- session.getSessionID(),
- session.getPrincipal().getName(),
- session.getRemoteAddress())
- + "] ";
+ if (!_upToDate)
+ {
+ if (_session.getPrincipal() != null)
+ {
+ if (_session.getVirtualHost() != null)
+ {
+ /**
+ * LOG FORMAT used by the AMQPConnectorActor follows
+ * ConnectionLogSubject.CONNECTION_FORMAT :
+ * con:{0}({1}@{2}/{3})
+ *
+ * Uses a MessageFormat call to insert the required values according to
+ * these indices:
+ *
+ * 0 - Connection ID
+ * 1 - User ID
+ * 2 - IP
+ * 3 - Virtualhost
+ */
+ _logString = "[" + MessageFormat.format(ConnectionLogSubject.CONNECTION_FORMAT,
+ _session.getSessionID(),
+ _session.getPrincipal().getName(),
+ _session.getRemoteAddress(),
+ _session.getVirtualHost().getName())
+ + "] ";
+ _upToDate = true;
+ }
+ else
+ {
+ _logString = "[" + MessageFormat.format(USER_FORMAT,
+ _session.getSessionID(),
+ _session.getPrincipal().getName(),
+ _session.getRemoteAddress())
+ + "] ";
+ }
+ }
+ }
}
- /**
- * Called once the user has been authenticated and they are now selecting
- * the virtual host they wish to use.
- *
- * @param session the session that now has a virtualhost associated with it.
- */
- public void virtualHostSelected(AMQProtocolSession session)
+ public String getLogMessage()
{
-
- /**
- * LOG FORMAT used by the AMQPConnectorActor follows
- * ConnectionLogSubject.CONNECTION_FORMAT :
- * con:{0}({1}@{2}/{3})
- *
- * Uses a MessageFormat call to insert the requried values according to
- * these indicies:
- *
- * 0 - Connection ID
- * 1 - User ID
- * 2 - IP
- * 3 - Virtualhost
- */
- _logString = "[" + MessageFormat.format(ConnectionLogSubject.CONNECTION_FORMAT,
- session.getSessionID(),
- session.getPrincipal().getName(),
- session.getRemoteAddress(),
- session.getVirtualHost().getName())
- + "] ";
-
+ updateLogString();
+ return _logString;
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java
index 0059a48c06..1fa2bd9600 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java
@@ -27,7 +27,6 @@ import org.apache.qpid.server.logging.RootMessageLogger;
public abstract class AbstractActor implements LogActor
{
- protected String _logString;
protected RootMessageLogger _rootLogger;
public AbstractActor(RootMessageLogger rootLogger)
@@ -43,7 +42,7 @@ public abstract class AbstractActor implements LogActor
{
if (_rootLogger.isMessageEnabled(this, subject))
{
- _rootLogger.rawMessage(_logString + String.valueOf(subject) + message);
+ _rootLogger.rawMessage(getLogMessage() + String.valueOf(subject) + message);
}
}
@@ -51,7 +50,7 @@ public abstract class AbstractActor implements LogActor
{
if (_rootLogger.isMessageEnabled(this))
{
- _rootLogger.rawMessage(_logString + message);
+ _rootLogger.rawMessage(getLogMessage() + message);
}
}
@@ -62,7 +61,9 @@ public abstract class AbstractActor implements LogActor
public String toString()
{
- return _logString;
+ return getLogMessage();
}
+ abstract public String getLogMessage();
+
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/BrokerActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/BrokerActor.java
index 5d2762fd1d..9e77452228 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/BrokerActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/BrokerActor.java
@@ -24,6 +24,7 @@ import org.apache.qpid.server.logging.RootMessageLogger;
public class BrokerActor extends AbstractActor
{
+ private final String _logString;
/**
* Create a new BrokerActor
@@ -44,4 +45,9 @@ public class BrokerActor extends AbstractActor
_logString = "[Broker(" + name + ")] ";
}
+ public String getLogMessage()
+ {
+ return _logString;
+ }
+
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java
index 85fbb8f1ac..2825fa1b75 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java
@@ -53,11 +53,15 @@ public class ManagementActor extends AbstractActor
*/
public static final String MANAGEMENT_FORMAT = "mng:{0}({1})";
+ /**
+ * The logString to be used for logging
+ */
+ private String _logString;
+
/** @param rootLogger The RootLogger to use for this Actor */
public ManagementActor(RootMessageLogger rootLogger)
{
super(rootLogger);
-
}
private void updateLogString()
@@ -101,18 +105,10 @@ public class ManagementActor extends AbstractActor
}
}
- @Override
- public void message(LogSubject subject, LogMessage message)
- {
- updateLogString();
- super.message(subject, message);
- }
-
- @Override
- public void message(LogMessage message)
+ public String getLogMessage()
{
updateLogString();
- super.message(message);
+ return _logString;
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java
index acac447ff6..e62e711514 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java
@@ -32,6 +32,7 @@ import java.text.MessageFormat;
*/
public class QueueActor extends AbstractActor
{
+ private final String _logString;
/**
* Create an QueueLogSubject that Logs in the following format.
@@ -46,7 +47,11 @@ public class QueueActor extends AbstractActor
_logString = "[" + MessageFormat.format(QueueLogSubject.LOG_FORMAT,
queue.getVirtualHost().getName(),
queue.getName()) + "] ";
+ }
+ public String getLogMessage()
+ {
+ return _logString;
}
}
\ No newline at end of file
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java
index ab33a29eac..63892e6353 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java
@@ -21,6 +21,8 @@
package org.apache.qpid.server.logging.actors;
import org.apache.qpid.server.logging.RootMessageLogger;
+import org.apache.qpid.server.logging.subjects.QueueLogSubject;
+import org.apache.qpid.server.logging.subjects.SubscriptionLogSubject;
import org.apache.qpid.server.subscription.Subscription;
import java.text.MessageFormat;
@@ -28,15 +30,21 @@ import java.text.MessageFormat;
public class SubscriptionActor extends AbstractActor
{
public static String SUBSCRIBER_FORMAT = "sub:{0}(vh({1})/qu({2}))";
+ private final String _logString;
public SubscriptionActor(RootMessageLogger logger, Subscription subscription)
{
super(logger);
- _logString = "[" + MessageFormat.format(SUBSCRIBER_FORMAT,
+ _logString = "[" + MessageFormat.format(SubscriptionLogSubject.SUBSCRIPTION_FORMAT,
subscription.getSubscriptionID(),
subscription.getQueue().getVirtualHost().getName(),
subscription.getQueue().getName())
+ "] ";
}
+
+ public String getLogMessage()
+ {
+ return _logString;
+ }
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties
index 1a2cb7251c..7159c6b02c 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties
@@ -17,116 +17,307 @@
# under the License.
#
# Default File used for all non-defined locales.
+#
+# LogMessages used within the Java Broker as originally defined on the wiki:
+# http://cwiki.apache.org/confluence/display/qpid/Status+Update+Design#StatusUpdateDesign-InitialStatusMessages
+#
+# Technical Notes:
+# This is a standard Java Properties file so white space is respected at the
+# end of the lines. This file is processed in a number of ways.
+# 1) ResourceBundle
+# This file is loaded through a ResourceBundle named LogMessages. the en_US
+# addition to the file is the localisation. Additional localisations can be
+# provided and will automatically be selected based on the <locale> value in
+# the config.xml. The default is en_US.
+#
+# 2) MessasgeFormat
+# Each entry is prepared with the Java Core MessageFormat methods. Therefore
+# most functionality you can do via MessageFormat can be done here:
+#
+# http://java.sun.com/javase/6/docs/api/java/text/MessageFormat.html
+#
+# The cavet here is that only default String and number FormatTypes can be used.
+# This is due to the processing described in 3 below. If support for date, time
+# or choice is requried then the GenerateLogMessages class should be updated to
+# provide support.
+#
+# Format Note:
+# As mentioned earlier white space in this file is very important. One thing
+# in particular to note is the way MessageFormat peforms its replacements.
+# The replacement text will totally replace the {xxx} section so there will be
+# no addtion of white space or removal e.g.
+# MSG = Text----{0}----
+# When given parameter 'Hello' result in text:
+# Text----Hello----
+#
+# For simple arguments this is expected however when using Style formats then
+# it can be a little unexepcted. In particular a common pattern is used for
+# number replacements : {0,number,#}. This is used in the Broker to display an
+# Integer simply as the Integer with no formating. e.g new Integer(1234567)
+# becomes the String "1234567" which is can be contrasted with the pattern
+# without a style format field : {0,number} which becomes string "1,234,567".
+#
+# What you may not expect is that {0,number, #} would produce the String " 1234567"
+# note the space after the ',' here /\ has resulted in a space /\ in
+# the output.
+#
+# More details on the SubformatPattern can be found on the API link above.
+#
+# 3) GenerateLogMessage/Velocity Macro
+# This is the first and final stage of processing that this file goes through.
+# 1) Class Generation:
+# The GenerateLogMessage processes this file and uses the velocity Macro
+# to create classes with static methods to perform the logging and give us
+# compile time validation.
+#
+# 2) Property Processing:
+# During the class generation the message properties ({x}) are identified
+# and used to create the method signature.
+#
+# 3) Option Processing:
+# The Classes perform final formatting of the messages at runtime based on
+# optional parameters that are defined within the message. Optional
+# paramters are enclosed in square brackets e.g. [optional].
+#
+# To provide fixed log messages as required by the Technical Specification:
+# http://cwiki.apache.org/confluence/display/qpid/Operational+Logging+-+Status+Update+-+Technical+Specification#OperationalLogging-StatusUpdate-TechnicalSpecification-Howtoprovidefixedlogmessages
+#
+# This file is processed by Velocity to create a number of classes that contain
+# static methods that provide LogMessages in the code to provide compile time
+# validation.
+#
+# For details of what processing is done see GenerateLogMessages.
+#
+# What a localiser or developer need know is the following:
+#
+# The Property structure is important is it defines how the class and methods
+# will be built.
+#
+# Class Generation:
+# =================
+#
+# Each class of messages will be split in to their own <Class>Messages.java
+# Currently the following classes are created and are populated with the
+# messages that bear their 3-digit type identifier:
+#
+# Class | Type
+# ---------------------|--------
+# Broker | BKR
+# ManagementConsole | MNG
+# VirtualHost | VHT
+# MessageStore | MST
+# ConfigStore | CFG
+# TransactionLog | TXN
+# Connection | CON
+# Channel | CHN
+# Queue | QUE
+# Exchange | EXH
+# Binding | BND
+# Subscription | SUB
+#
+# Property Format
+# ===============
+# The property format MUST adhere to the follow format to make it easier to
+# use the logging API as a developer but also so that operations staff can
+# easily locate log messages in the output.
+#
+# The property file should contain entries in the following format
+#
+# <Log Identifier, developer focused> = <Log Identifier, Operate focus> : <Log Message>
+#
+# eg:
+# BRK_SHUTTING_DOWN = BRK-1003 : Shuting down : {0} port {1,number,#}
+#
+# Note: the developer focused identifier will become a method name so only a
+# valid method name should be used. Currently only '-' are converted to '_'.
+#
+# That said properties generate the logging code at build time so any error
+# can be easily identified.
+#
+# Property Processing:
+# ====================
+#
+# Each property is then processed by the GenerateLogMessages class to identify
+# The number and type of parameters, {x} entries. Parameters are defaulted to
+# String types but the use of FormatType number (e.g.{0,number}) will result
+# in a Number type being used. These parameters are then used to build the
+# method parameter list. e.g:
+# Property:
+# BRK_SHUTTING_DOWN = BRK-1003 : Shuting down : {0} port {1,number,#}
+# becomes Method:
+# public static LogMessage BRK_SHUTTING_DOWN(String param1, Number param2)
+#
+# This improves our compile time validation of log message content and
+# ensures that change in the message format does not accidentally cause
+# erroneous messages.
+#
+# Option Processing:
+# ====================
+#
+# Options are identified in the log message as being surrounded by square
+# brackets ([ ]). These optional values can themselves contain paramters
+# however nesting of options is not permitted. Identification is performed on
+# first matchings so give the message:
+# Msg = Log Message [option1] [option2]
+# Two options will be identifed and enabled to select text 'option1 and
+# 'option2'.
+#
+# The nesting of a options is not supported and will provide
+# unexpected results. e.g. Using Message:
+# Msg = Log Message [option1 [sub-option2]]
+#
+# The options will be 'option1 [sub-option2' and 'sub-option2'. The first
+# option includes the second option as the nesting is not detected.
+#
+# The detected options are presented in the method signature as boolean options
+# numerically identified by their position in the message. e.g.
+# Property:
+# CON-1001 = Open : Client ID {0} [: Protocol Version : {1}]
+# becomes Method:
+# public static LogMessage CON_1001(String param1, String param2, boolean opt1)
+#
+# The value of 'opt1' will show/hide the option in the message. Note that
+# 'param2' is still required however a null value can be used if the optional
+# section is not desired.
+#
+# Again here the importance of white space needs to be highlighted.
+# Looking at the QUE-1001 message as an example. The first thought on how this
+# would look would be as follows:
+# QUE-1001 = Create : Owner: {0} [AutoDelete] [Durable] [Transient] [Priority: {1,number,#}]
+# Each option is correctly defined so the text that is defined will appear when
+# selected. e.g. 'AutoDelete'. However, what may not be immediately apparent is
+# the white space. Using the above definition of QUE-1001 if we were to print
+# the message with only the Priority option displayed it would appear as this:
+# "Create : Owner: guest Priority: 1"
+# Note the spaces here /\ This is because only the text between the brackets
+# has been removed.
+#
+# Each option needs to include white space to correctly format the message. So
+# the correct definition of QUE-1001 is as follows:
+# QUE-1001 = Create : Owner: {0}[ AutoDelete][ Durable][ Transient][ Priority: {1,number,#}]
+# Note that white space is included with each option and there is no extra
+# white space between the options. As a result the output with just Priority
+# enabled is as follows:
+# "Create : Owner: guest Priority: 1"
+#
+# The final processing that is done in the generation is the conversion of the
+# property name. As a '-' is an illegal character in the method name it is
+# converted to '_' This processing gives the final method signature as follows:
+# <Class>Message.<Type>_<Number>(<parmaters>,<options>)
+#
+#
+# Default File used for all non-defined locales.
#Broker
# 0 - Version
# 1 = Build
-BRK-1001 = Startup : Version: {0} Build: {1}
+BRK_STARTUP = BRK-1001 : Startup : Version: {0} Build: {1}
# 0 - Transport
# 1 - Port
-BRK-1002 = Starting : Listening on {0} port {1,number,#}
+BRK_LISTENING = BRK-1002 : Starting : Listening on {0} port {1,number,#}
# 0 - Transport
# 1 - Port
-BRK-1003 = Shuting down : {0} port {1,number,#}
-BRK-1004 = Ready
-BRK-1005 = Stopped
+BRK_SHUTTING_DOWN = BRK-1003 : Shuting down : {0} port {1,number,#}
+BRK_READY = BRK-1004 : Ready
+BRK_STOPPED = BRK-1005 : Stopped
# 0 - path
-BRK-1006 = Using configuration : {0}
+BRK_CONFIG = BRK-1006 : Using configuration : {0}
# 0 - path
-BRK-1007 = Using logging configuration : {0}
+BRK_LOG_CONFIG = BRK-1007 : Using logging configuration : {0}
#ManagementConsole
-MNG-1001 = Startup
+MNG_STARTUP = MNG-1001 : Startup
# 0 - Service
# 1 - Port
-MNG-1002 = Starting : {0} : Listening on port {1,number,#}
+MNG_LISTENING = MNG-1002 : Starting : {0} : Listening on port {1,number,#}
# 0 - Service
# 1 - Port
-MNG-1003 = Shuting down : {0} : port {1,number,#}
-MNG-1004 = Ready
-MNG-1005 = Stopped
+MNG_SHUTTING_DOWN = MNG-1003 : Shuting down : {0} : port {1,number,#}
+MNG_READY = MNG-1004 : Ready
+MNG_STOPPED = MNG-1005 : Stopped
# 0 - Path
-MNG-1006 = Using SSL Keystore : {0}
-MNG-1007 = Open : User {0}
-MNG-1008 = Close
+MNG_SSL_KEYSTORE = MNG-1006 : Using SSL Keystore : {0}
+MNG_OPEN = MNG-1007 : Open : User {0}
+MNG_CLOSE = MNG-1008 : Close
#VirtualHost
# 0 - name
-VHT-1001 = Created : {0}
-VHT-1002 = Closed
+VHT_CREATED = VHT-1001 : Created : {0}
+VHT_CLOSED = VHT-1002 : Closed
#MessageStore
# 0 - name
-MST-1001 = Created : {0}
+MST_CREATED = MST-1001 : Created : {0}
# 0 - path
-MST-1002 = Store location : {0}
-MST-1003 = Closed
-MST-1004 = Recovery Start
-MST-1005 = Recovered {0,number} messages
-MST-1006 = Recovery Complete
+MST_STORE_LOCATION = MST-1002 : Store location : {0}
+MST_CLOSED = MST-1003 : Closed
+MST_RECOVERY_START = MST-1004 : Recovery Start
+MST_RECOVERED = MST-1005 : Recovered {0,number} messages
+MST_RECOVERY_COMPLETE = MST-1006 : Recovery Complete
#ConfigStore
# 0 - name
-CFG-1001 = Created : {0}
+CFG-1001 = CFG-1001 : Created : {0}
# 0 - path
-CFG-1002 = Store location : {0}
-CFG-1003 = Closed
-CFG-1004 = Recovery Start
-CFG-1005 = Recovery Complete
+CFG-1002 = CFG-1002 : Store location : {0}
+CFG-1003 = CFG-1003 : Closed
+CFG-1004 = CFG-1004 : Recovery Start
+CFG-1005 = CFG-1005 : Recovery Complete
#TransactionLog
# 0 - name
-TXN-1001 = Created : {0}
+TXN-1001 = TXN-1001 : Created : {0}
# 0 - path
-TXN-1002 = Store location : {0}
-TXN-1003 = Closed
+TXN-1002 = TXN-1002 : Store location : {0}
+TXN-1003 = TXN-1003 : Closed
# 0 - queue name
-TXN-1004 = Recovery Start[ : {0}]
+TXN-1004 = TXN-1004 : Recovery Start[ : {0}]
# 0 - count
# 1 - queue count
-TXN-1005 = Recovered {0,number} messages for queue {1}
+TXN-1005 = TXN-1005 : Recovered {0,number} messages for queue {1}
# 0 - queue name
-TXN-1006 = Recovery Complete[ : {0}]
+TXN-1006 = TXN-1006 : Recovery Complete[ : {0}]
#Connection
# 0 - Client id
# 1 - Protocol Version
-CON-1001 = Open[ : Client ID : {0}][ : Protocol Version : {1}]
-CON-1002 = Close
+CON_OPEN = CON-1001 : Open[ : Client ID : {0}][ : Protocol Version : {1}]
+CON_CLOSE = CON-1002 : Close
#Channel
-CHN-1001 = Create
+CHN_CREATE = CHN-1001 : Create
# 0 - flow
-CHN-1002 = Flow {0}
-CHN-1003 = Close
+CHN_FLOW = CHN-1002 : Flow {0}
+CHN_CLOSE = CHN-1003 : Close
# 0 - bytes allowed in prefetch
# 1 - number of messagse.
-CHN-1004 = Prefetch Size (bytes) {0,number} : Count {1,number}
+CHN_PREFETCH_SIZE = CHN-1004 : Prefetch Size (bytes) {0,number} : Count {1,number}
# 0 - queue causing flow control
-CHN-1005 = Flow Control Enforced (Queue {0})
-CHN-1006 = Flow Control Removed
+CHN_FLOW_ENFORCED = CHN-1005 : Flow Control Enforced (Queue {0})
+CHN_FLOW_REMOVED = CHN-1006 : Flow Control Removed
#Queue
# 0 - owner
# 1 - priority
-QUE-1001 = Create :[ Owner: {0}][ AutoDelete][ Durable][ Transient][ Priority: {1,number,#}]
-QUE-1002 = Deleted
-QUE-1003 = Overfull : Size : {0,number} bytes, Capacity : {1,number}
-QUE-1004 = Underfull : Size : {0,number} bytes, Resume Capacity : {1,number}
+QUE_CREATED = QUE-1001 : Create :[ Owner: {0}][ AutoDelete][ Durable][ Transient][ Priority: {1,number,#}]
+QUE_DELETED = QUE-1002 : Deleted
+QUE_OVERFULL = QUE-1003 : Overfull : Size : {0,number} bytes, Capacity : {1,number}
+QUE_UNDERFULL = QUE-1004 : Underfull : Size : {0,number} bytes, Resume Capacity : {1,number}
#Exchange
# 0 - type
# 1 - name
-EXH-1001 = Create :[ Durable] Type: {0} Name: {1}
-EXH-1002 = Deleted
+EXH_CREATED = EXH-1001 : Create :[ Durable] Type: {0} Name: {1}
+EXH_DELETED = EXH-1002 : Deleted
#Binding
-BND-1001 = Create[ : Arguments : {0}]
-BND-1002 = Deleted
+BND_CREATED = BND-1001 : Create[ : Arguments : {0}]
+BND_DELETED = BND-1002 : Deleted
#Subscription
-SUB-1001 = Create[ : Durable][ : Arguments : {0}]
-SUB-1002 = Close
+SUB_CREATE = SUB-1001 : Create[ : Durable][ : Arguments : {0}]
+SUB_CLOSE = SUB-1002 : Close
# 0 - The current subscription state
-SUB-1003 = State : {0}
+SUB_STATE = SUB-1003 : State : {0}
+
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages_en_US.properties b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages_en_US.properties
deleted file mode 100644
index 1a2cb7251c..0000000000
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages_en_US.properties
+++ /dev/null
@@ -1,132 +0,0 @@
-#
-# 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.
-#
-# Default File used for all non-defined locales.
-#Broker
-# 0 - Version
-# 1 = Build
-BRK-1001 = Startup : Version: {0} Build: {1}
-# 0 - Transport
-# 1 - Port
-BRK-1002 = Starting : Listening on {0} port {1,number,#}
-# 0 - Transport
-# 1 - Port
-BRK-1003 = Shuting down : {0} port {1,number,#}
-BRK-1004 = Ready
-BRK-1005 = Stopped
-# 0 - path
-BRK-1006 = Using configuration : {0}
-# 0 - path
-BRK-1007 = Using logging configuration : {0}
-
-#ManagementConsole
-MNG-1001 = Startup
-# 0 - Service
-# 1 - Port
-MNG-1002 = Starting : {0} : Listening on port {1,number,#}
-# 0 - Service
-# 1 - Port
-MNG-1003 = Shuting down : {0} : port {1,number,#}
-MNG-1004 = Ready
-MNG-1005 = Stopped
-# 0 - Path
-MNG-1006 = Using SSL Keystore : {0}
-MNG-1007 = Open : User {0}
-MNG-1008 = Close
-
-
-#VirtualHost
-# 0 - name
-VHT-1001 = Created : {0}
-VHT-1002 = Closed
-
-#MessageStore
-# 0 - name
-MST-1001 = Created : {0}
-# 0 - path
-MST-1002 = Store location : {0}
-MST-1003 = Closed
-MST-1004 = Recovery Start
-MST-1005 = Recovered {0,number} messages
-MST-1006 = Recovery Complete
-
-#ConfigStore
-# 0 - name
-CFG-1001 = Created : {0}
-# 0 - path
-CFG-1002 = Store location : {0}
-CFG-1003 = Closed
-CFG-1004 = Recovery Start
-CFG-1005 = Recovery Complete
-
-#TransactionLog
-# 0 - name
-TXN-1001 = Created : {0}
-# 0 - path
-TXN-1002 = Store location : {0}
-TXN-1003 = Closed
-# 0 - queue name
-TXN-1004 = Recovery Start[ : {0}]
-# 0 - count
-# 1 - queue count
-TXN-1005 = Recovered {0,number} messages for queue {1}
-# 0 - queue name
-TXN-1006 = Recovery Complete[ : {0}]
-
-#Connection
-# 0 - Client id
-# 1 - Protocol Version
-CON-1001 = Open[ : Client ID : {0}][ : Protocol Version : {1}]
-CON-1002 = Close
-
-#Channel
-CHN-1001 = Create
-# 0 - flow
-CHN-1002 = Flow {0}
-CHN-1003 = Close
-# 0 - bytes allowed in prefetch
-# 1 - number of messagse.
-CHN-1004 = Prefetch Size (bytes) {0,number} : Count {1,number}
-# 0 - queue causing flow control
-CHN-1005 = Flow Control Enforced (Queue {0})
-CHN-1006 = Flow Control Removed
-
-#Queue
-# 0 - owner
-# 1 - priority
-QUE-1001 = Create :[ Owner: {0}][ AutoDelete][ Durable][ Transient][ Priority: {1,number,#}]
-QUE-1002 = Deleted
-QUE-1003 = Overfull : Size : {0,number} bytes, Capacity : {1,number}
-QUE-1004 = Underfull : Size : {0,number} bytes, Resume Capacity : {1,number}
-
-
-#Exchange
-# 0 - type
-# 1 - name
-EXH-1001 = Create :[ Durable] Type: {0} Name: {1}
-EXH-1002 = Deleted
-
-#Binding
-BND-1001 = Create[ : Arguments : {0}]
-BND-1002 = Deleted
-
-#Subscription
-SUB-1001 = Create[ : Durable][ : Arguments : {0}]
-SUB-1002 = Close
-# 0 - The current subscription state
-SUB-1003 = State : {0}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java
index b68ef2e9a9..c842da4db0 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java
@@ -33,7 +33,7 @@ public class SubscriptionLogSubject extends AbstractLogSubject
* 0 - Subscription ID
* 1 - queue name
*/
- protected static String BINDING_FORMAT = "sub:{0}(qu({1}))";
+ public static String SUBSCRIPTION_FORMAT = "sub:{0}(vh(/{1})/qu({2}))";
/**
* Create an QueueLogSubject that Logs in the following format.
@@ -42,8 +42,8 @@ public class SubscriptionLogSubject extends AbstractLogSubject
*/
public SubscriptionLogSubject(Subscription subscription)
{
-
- setLogStringWithFormat(BINDING_FORMAT, subscription.getSubscriptionID(),
+ setLogStringWithFormat(SUBSCRIPTION_FORMAT, subscription.getSubscriptionID(),
+ subscription.getQueue().getVirtualHost().getName(),
subscription.getQueue().getName());
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
index 92657d7f3c..048551010e 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
@@ -100,7 +100,7 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
public void start() throws IOException, ConfigurationException
{
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1001());
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_STARTUP());
//check if system properties are set to use the JVM's out-of-the-box JMXAgent
if (areOutOfTheBoxJMXOptionsSet())
@@ -171,7 +171,7 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
_log.info("JMX ConnectorServer using SSL keystore file " + ksf.getAbsolutePath());
_startupLog.info("JMX ConnectorServer using SSL keystore file " + ksf.getAbsolutePath());
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1006(ksf.getAbsolutePath()));
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_SSL_KEYSTORE(ksf.getAbsolutePath()));
}
//check the key store password is set
@@ -199,8 +199,8 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
_startupLog.warn("Starting JMX ConnectorServer on port '"+ port + "' (+" +
(port +PORT_EXPORT_OFFSET) + ") with SSL");
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1002("SSL RMI Registry", port));
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1002("SSL RMI ConnectorServer", port + PORT_EXPORT_OFFSET));
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_LISTENING("SSL RMI Registry", port));
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_LISTENING("SSL RMI ConnectorServer", port + PORT_EXPORT_OFFSET));
}
else
@@ -211,8 +211,8 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
_log.warn("Starting JMX ConnectorServer on port '" + port + "' (+" + (port +PORT_EXPORT_OFFSET) + ")");
_startupLog.warn("Starting JMX ConnectorServer on port '" + port + "' (+" + (port +PORT_EXPORT_OFFSET) + ")");
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1002("RMI Registry", port));
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1002("RMI ConnectorServer", port + PORT_EXPORT_OFFSET));
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_LISTENING("RMI Registry", port));
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_LISTENING("RMI ConnectorServer", port + PORT_EXPORT_OFFSET));
}
//add a JMXAuthenticator implementation the env map to authenticate the RMI based JMX connector server
@@ -301,7 +301,7 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
_cs.start();
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1004());
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_READY());
}
/*
@@ -389,8 +389,8 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
try
{
_cs.stop();
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1003("RMI Registry", _cs.getAddress().getPort() - PORT_EXPORT_OFFSET));
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1003("RMI ConnectorServer", _cs.getAddress().getPort()));
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_SHUTTING_DOWN("RMI Registry", _cs.getAddress().getPort() - PORT_EXPORT_OFFSET));
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_SHUTTING_DOWN("RMI ConnectorServer", _cs.getAddress().getPort()));
}
catch (IOException e)
{
@@ -421,7 +421,7 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
}
}
- CurrentActor.get().message(ManagementConsoleMessages.MNG_1005());
+ CurrentActor.get().message(ManagementConsoleMessages.MNG_STOPPED());
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java b/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
index 20410ba5ce..0ee5763d91 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
@@ -26,8 +26,6 @@ import org.apache.qpid.management.common.mbeans.UserManagement;
import org.apache.qpid.server.logging.actors.CurrentActor;
import org.apache.qpid.server.logging.actors.ManagementActor;
import org.apache.qpid.server.logging.messages.ManagementConsoleMessages;
-import org.apache.qpid.server.logging.messages.ConnectionMessages;
-import org.apache.qpid.server.logging.LogActor;
import org.apache.log4j.Logger;
import javax.management.remote.MBeanServerForwarder;
@@ -47,7 +45,6 @@ import java.lang.reflect.Method;
import java.security.AccessController;
import java.security.Principal;
import java.security.AccessControlContext;
-import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
import java.util.Properties;
@@ -276,12 +273,12 @@ public class MBeanInvocationHandlerImpl implements InvocationHandler, Notificati
if (notification.getType().equals(JMXConnectionNotification.OPENED))
{
- _logActor.message(ManagementConsoleMessages.MNG_1007(user));
+ _logActor.message(ManagementConsoleMessages.MNG_OPEN(user));
}
else if (notification.getType().equals(JMXConnectionNotification.CLOSED) ||
notification.getType().equals(JMXConnectionNotification.FAILED))
{
- _logActor.message(ManagementConsoleMessages.MNG_1008());
+ _logActor.message(ManagementConsoleMessages.MNG_CLOSE());
}
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java b/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
index 0824d12416..0a1fdb686f 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
@@ -178,7 +178,7 @@ public class AMQProtocolEngine implements ProtocolEngine, Managable, AMQProtocol
_writeJob = new Job(_poolReference, Job.MAX_JOB_EVENTS, false);
_actor = new AMQPConnectionActor(this, virtualHostRegistry.getApplicationRegistry().getRootMessageLogger());
- _actor.message(ConnectionMessages.CON_1001(null, null, false, false));
+ _actor.message(ConnectionMessages.CON_OPEN(null, null, false, false));
}
@@ -329,7 +329,7 @@ public class AMQProtocolEngine implements ProtocolEngine, Managable, AMQProtocol
try
{
// Log incomming protocol negotiation request
- _actor.message(ConnectionMessages.CON_1001(null, pi._protocolMajor + "-" + pi._protocolMinor, false, true));
+ _actor.message(ConnectionMessages.CON_OPEN(null, pi._protocolMajor + "-" + pi._protocolMinor, false, true));
ProtocolVersion pv = pi.checkVersion(); // Fails if not correct
@@ -720,7 +720,7 @@ public class AMQProtocolEngine implements ProtocolEngine, Managable, AMQProtocol
notifyAll();
}
_poolReference.releaseExecutorService();
- CurrentActor.get().message(_logSubject, ConnectionMessages.CON_1002());
+ CurrentActor.get().message(_logSubject, ConnectionMessages.CON_CLOSE());
}
}
else
@@ -840,7 +840,7 @@ public class AMQProtocolEngine implements ProtocolEngine, Managable, AMQProtocol
setContextKey(new AMQShortString(clientID));
// Log the Opening of the connection for this client
- _actor.message(ConnectionMessages.CON_1001(clientID, _protocolVersion.toString(), true, true));
+ _actor.message(ConnectionMessages.CON_OPEN(clientID, _protocolVersion.toString(), true, true));
}
if (_clientProperties.getString(ClientProperties.version.toString()) != null)
@@ -898,7 +898,6 @@ public class AMQProtocolEngine implements ProtocolEngine, Managable, AMQProtocol
{
_virtualHost = virtualHost;
- _actor.virtualHostSelected(this);
_logSubject = new ConnectionLogSubject(this);
_virtualHost.getConnectionRegistry().registerConnection(this);
@@ -932,9 +931,6 @@ public class AMQProtocolEngine implements ProtocolEngine, Managable, AMQProtocol
public void setAuthorizedID(Principal authorizedID)
{
_authorizedID = authorizedID;
-
- // Let the actor know that this connection is now Authorized
- _actor.connectionAuthorized(this);
}
public Principal getAuthorizedID()
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBinding.java b/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBinding.java
index 6e87cfbb76..2fd8e32fcd 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBinding.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBinding.java
@@ -45,7 +45,7 @@ public class ExchangeBinding
_arguments = arguments == null ? EMPTY_ARGUMENTS : arguments;
_logSubject = new BindingLogSubject(routingKey,exchange,queue);
- CurrentActor.get().message(_logSubject, BindingMessages.BND_1001(String.valueOf(_arguments), arguments != null));
+ CurrentActor.get().message(_logSubject, BindingMessages.BND_CREATED(String.valueOf(_arguments), arguments != null));
}
@@ -54,7 +54,7 @@ public class ExchangeBinding
{
_exchange.deregisterQueue(_routingKey, queue, _arguments);
- CurrentActor.get().message(_logSubject, BindingMessages.BND_1002());
+ CurrentActor.get().message(_logSubject, BindingMessages.BND_DELETED());
}
public Exchange getExchange()
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
index 77a6fb9328..d7d0414936 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
@@ -200,7 +200,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
// Log the creation of this Queue.
// The priorities display is toggled on if we set priorities > 0
CurrentActor.get().message(_logSubject,
- QueueMessages.QUE_1001(String.valueOf(_owner),
+ QueueMessages.QUE_CREATED(String.valueOf(_owner),
priorities,
_owner != null,
autoDelete,
@@ -1297,7 +1297,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
stop();
//Log Queue Deletion
- CurrentActor.get().message(_logSubject, QueueMessages.QUE_1002());
+ CurrentActor.get().message(_logSubject, QueueMessages.QUE_DELETED());
}
return getMessageCount();
@@ -1320,7 +1320,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
{
_overfull.set(true);
//Overfull log message
- _logActor.message(_logSubject, QueueMessages.QUE_1003(_atomicQueueSize.get(), _capacity));
+ _logActor.message(_logSubject, QueueMessages.QUE_OVERFULL(_atomicQueueSize.get(), _capacity));
if(_blockedChannels.putIfAbsent(channel, Boolean.TRUE)==null)
{
@@ -1331,7 +1331,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
{
//Underfull log message
- _logActor.message(_logSubject, QueueMessages.QUE_1004(_atomicQueueSize.get(), _flowResumeCapacity));
+ _logActor.message(_logSubject, QueueMessages.QUE_UNDERFULL(_atomicQueueSize.get(), _flowResumeCapacity));
channel.unblock(this);
_blockedChannels.remove(channel);
@@ -1353,7 +1353,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener
{
if(_overfull.compareAndSet(true,false))
{//Underfull log message
- _logActor.message(_logSubject, QueueMessages.QUE_1004(_atomicQueueSize.get(), _flowResumeCapacity));
+ _logActor.message(_logSubject, QueueMessages.QUE_UNDERFULL(_atomicQueueSize.get(), _flowResumeCapacity));
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
index 1affdd6590..5cb379f10d 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
@@ -248,7 +248,7 @@ public abstract class ApplicationRegistry implements IApplicationRegistry
// _pluginManager.close();
- CurrentActor.get().message(BrokerMessages.BRK_1005());
+ CurrentActor.get().message(BrokerMessages.BRK_STOPPED());
}
private void unbind()
@@ -259,7 +259,7 @@ public abstract class ApplicationRegistry implements IApplicationRegistry
{
QpidAcceptor acceptor = _acceptors.get(bindAddress);
acceptor.getNetworkDriver().close();
- CurrentActor.get().message(BrokerMessages.BRK_1003(acceptor.toString(), bindAddress.getPort()));
+ CurrentActor.get().message(BrokerMessages.BRK_SHUTTING_DOWN(acceptor.toString(), bindAddress.getPort()));
}
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java
index 8e8581b66f..f325b53dfb 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/registry/ConfigurationFileApplicationRegistry.java
@@ -59,7 +59,7 @@ public class ConfigurationFileApplicationRegistry extends ApplicationRegistry
// Set the Actor for current log messages
CurrentActor.set(new BrokerActor(_registryName, _rootMessageLogger));
- CurrentActor.get().message(BrokerMessages.BRK_1001(QpidProperties.getReleaseVersion(),QpidProperties.getBuildVersion()));
+ CurrentActor.get().message(BrokerMessages.BRK_STARTUP(QpidProperties.getReleaseVersion(),QpidProperties.getBuildVersion()));
initialiseManagedObjectRegistry();
diff --git a/java/broker/src/main/java/org/apache/qpid/server/store/AbstractMessageStore.java b/java/broker/src/main/java/org/apache/qpid/server/store/AbstractMessageStore.java
index f8bc530aa6..ef8f1ab70e 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/store/AbstractMessageStore.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/store/AbstractMessageStore.java
@@ -34,11 +34,11 @@ public abstract class AbstractMessageStore implements MessageStore
public void configure(VirtualHost virtualHost) throws Exception
{
_logSubject = new MessageStoreLogSubject(virtualHost, this);
- CurrentActor.get().message(_logSubject, MessageStoreMessages.MST_1001(this.getClass().getName()));
+ CurrentActor.get().message(_logSubject, MessageStoreMessages.MST_CREATED(this.getClass().getName()));
}
public void close() throws Exception
{
- CurrentActor.get().message(_logSubject,MessageStoreMessages.MST_1003());
+ CurrentActor.get().message(_logSubject,MessageStoreMessages.MST_CLOSED());
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java b/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java
index ba5574d1fa..1764e2324e 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java
@@ -173,7 +173,7 @@ public class DerbyMessageStore implements MessageStore
Configuration storeConfiguration,
LogSubject logSubject) throws Exception
{
- CurrentActor.get().message(_logSubject, MessageStoreMessages.MST_1001(this.getClass().getName()));
+ CurrentActor.get().message(_logSubject, MessageStoreMessages.MST_CREATED(this.getClass().getName()));
if(!_configured)
{
@@ -231,7 +231,7 @@ public class DerbyMessageStore implements MessageStore
}
}
- CurrentActor.get().message(logSubject, MessageStoreMessages.MST_1002(environmentPath.getAbsolutePath()));
+ CurrentActor.get().message(_logSubject, MessageStoreMessages.MST_STORE_LOCATION(environmentPath.getAbsolutePath()));
createOrOpenDatabase(name, databasePath);
}
@@ -369,6 +369,7 @@ public class DerbyMessageStore implements MessageStore
{
stateTransition(State.CONFIGURING, State.RECOVERING);
+ CurrentActor.get().message(_logSubject,MessageStoreMessages.MST_RECOVERY_START());
try
{
@@ -380,8 +381,6 @@ public class DerbyMessageStore implements MessageStore
ConfigurationRecoveryHandler.BindingRecoveryHandler brh = erh.completeExchangeRecovery();
recoverBindings(brh, exchanges);
brh.completeBindingRecovery();
-
-
}
catch (SQLException e)
{
@@ -408,9 +407,6 @@ public class DerbyMessageStore implements MessageStore
qrh.queue(queueName, owner, null);
queues.add(queueName);
-
-
-
}
return queues;
}
@@ -505,7 +501,7 @@ public class DerbyMessageStore implements MessageStore
public void close() throws Exception
{
- CurrentActor.get().message(_logSubject,MessageStoreMessages.MST_1003());
+ CurrentActor.get().message(_logSubject,MessageStoreMessages.MST_CLOSED());
_closed.getAndSet(true);
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java b/java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
index f43177bfc1..e3e9432e6b 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
@@ -102,13 +102,13 @@ public class MemoryMessageStore implements MessageStore
}
int hashtableCapacity = config.getInt(name + "." + HASHTABLE_CAPACITY_CONFIG, DEFAULT_HASHTABLE_CAPACITY);
_log.info("Using capacity " + hashtableCapacity + " for hash tables");
- CurrentActor.get().message(_logSubject, MessageStoreMessages.MST_1001(this.getClass().getName()));
+ CurrentActor.get().message(_logSubject, MessageStoreMessages.MST_CREATED(this.getClass().getName()));
}
public void close() throws Exception
{
_closed.getAndSet(true);
- CurrentActor.get().message(_logSubject,MessageStoreMessages.MST_1003());
+ CurrentActor.get().message(_logSubject,MessageStoreMessages.MST_CLOSED());
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java b/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java
index bb2e5ae918..5302a3c5d4 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java
@@ -365,7 +365,7 @@ public abstract class SubscriptionImpl implements Subscription, FlowCreditManage
CurrentActor.get().
message(_logSubject,
- SubscriptionMessages.SUB_1001(filterLogString,
+ SubscriptionMessages.SUB_CREATE(filterLogString,
queue.isDurable() && exclusive,
filterLogString != null));
}
@@ -508,7 +508,7 @@ public abstract class SubscriptionImpl implements Subscription, FlowCreditManage
//Log Subscription closed
- CurrentActor.get().message(_logSubject, SubscriptionMessages.SUB_1002());
+ CurrentActor.get().message(_logSubject, SubscriptionMessages.SUB_CLOSE());
}
public boolean isClosed()
@@ -596,7 +596,7 @@ public abstract class SubscriptionImpl implements Subscription, FlowCreditManage
_stateListener.stateChange(this, State.ACTIVE, State.SUSPENDED);
}
}
- CurrentActor.get().message(_logSubject,SubscriptionMessages.SUB_1003(_state.get().toString()));
+ CurrentActor.get().message(_logSubject,SubscriptionMessages.SUB_STATE(_state.get().toString()));
}
public State getState()
diff --git a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java
index 7fa5a26436..c543531210 100755
--- a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java
@@ -34,6 +34,7 @@ import org.apache.qpid.server.exchange.Exchange;
import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
import org.apache.qpid.server.logging.actors.CurrentActor;
import org.apache.qpid.server.logging.messages.TransactionLogMessages;
+import org.apache.qpid.server.logging.messages.MessageStoreMessages;
import org.apache.qpid.server.message.AMQMessage;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.message.MessageTransferMessage;
diff --git a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
index c321fdf3e0..6826dcf324 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
@@ -158,7 +158,7 @@ public class VirtualHostImpl implements Accessable, VirtualHost
_configuration = hostConfig;
_name = hostConfig.getName();
- CurrentActor.get().message(VirtualHostMessages.VHT_1001(_name));
+ CurrentActor.get().message(VirtualHostMessages.VHT_CREATED(_name));
if (_name == null || _name.length() == 0)
{
@@ -482,7 +482,7 @@ public class VirtualHostImpl implements Accessable, VirtualHost
_messageStore.close();
}
- CurrentActor.get().message(VirtualHostMessages.VHT_1002());
+ CurrentActor.get().message(VirtualHostMessages.VHT_CLOSED());
}
public ManagedObject getBrokerMBean()