summaryrefslogtreecommitdiff
path: root/java/broker/src
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2010-09-02 16:18:40 +0000
committerRobert Gemmell <robbie@apache.org>2010-09-02 16:18:40 +0000
commit8d61ef73ef284bf95954c984d7909b8c1a4b02ea (patch)
tree5c91a7e3ad7b045ba89bc172427b1b666cb6e52f /java/broker/src
parent0d8d94a588668bd651a02adec04c60fcd615c3ae (diff)
downloadqpid-python-8d61ef73ef284bf95954c984d7909b8c1a4b02ea.tar.gz
QPID-2843: Remove old logging and use the operational logging framework to provide startup information, directed to both stdout and the log file.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@992003 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/Main.java23
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/CompositeStartupMessageLogger.java31
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java18
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java58
6 files changed, 82 insertions, 52 deletions
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 7d7eefc541..13927f28ab 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
@@ -68,7 +68,6 @@ import org.apache.qpid.transport.network.mina.MINANetworkDriver;
public class Main
{
private static Logger _logger;
- private static Logger _brokerLogger;
private static final String DEFAULT_CONFIG_FILE = "etc/config.xml";
@@ -230,13 +229,11 @@ public class Main
catch (InitException e)
{
System.out.println("Initialisation Error : " + e.getMessage());
- _brokerLogger.error("Initialisation Error : " + e.getMessage());
shutdown(1);
}
catch (Throwable e)
{
System.out.println("Error initialising message broker: " + e);
- _brokerLogger.error("Error initialising message broker: " + e);
e.printStackTrace();
shutdown(1);
}
@@ -308,9 +305,9 @@ public class Main
// the configuration.
BrokerMessages.reload();
- // AR.initialise() sets its own actor so we now need to set the actor
- // for the remainder of the startup
- CurrentActor.set(new BrokerActor(config.getRootMessageLogger()));
+ // AR.initialise() sets and removes its own actor so we now need to set the actor
+ // for the remainder of the startup, and the default actor if the stack is empty
+ CurrentActor.set(new BrokerActor(config.getCompositeStartupMessageLogger()));
CurrentActor.setDefault(new BrokerActor(config.getRootMessageLogger()));
try
@@ -324,13 +321,6 @@ public class Main
new ServerInformationMBean(QpidProperties.getBuildVersion(), QpidProperties.getReleaseVersion());
sysInfoMBean.register();
- //fixme .. use QpidProperties.getVersionString when we have fixed the classpath issues
- // that are causing the broker build to pick up the wrong properties file and hence say
- // Starting Qpid Client
- _brokerLogger.info("Starting Qpid Broker " + QpidProperties.getReleaseVersion()
- + " build: " + QpidProperties.getBuildVersion());
-
-
String[] portStr = commandLine.getOptionValues("p");
@@ -443,10 +433,6 @@ public class Main
CurrentActor.get().message(BrokerMessages.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.READY());
}
@@ -530,7 +516,6 @@ public class Main
//now that the override status is know, we can instantiate the Loggers
_logger = Logger.getLogger(Main.class);
- _brokerLogger = Logger.getLogger("Qpid.Broker");
new Main(args);
}
@@ -568,7 +553,7 @@ public class Main
if (logConfigFile.exists() && logConfigFile.canRead())
{
CurrentActor.get().message(BrokerMessages.LOG_CONFIG(logConfigFile.getAbsolutePath()));
- System.out.println("Configuring logger using configuration file " + logConfigFile.getAbsolutePath());
+
if (logWatchTime > 0)
{
System.out.println("log file " + logConfigFile.getAbsolutePath() + " will be checked for changes every "
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/CompositeStartupMessageLogger.java b/java/broker/src/main/java/org/apache/qpid/server/logging/CompositeStartupMessageLogger.java
new file mode 100644
index 0000000000..d2838f0789
--- /dev/null
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/CompositeStartupMessageLogger.java
@@ -0,0 +1,31 @@
+package org.apache.qpid.server.logging;
+
+public class CompositeStartupMessageLogger extends AbstractRootMessageLogger
+{
+ private RootMessageLogger[] _loggers;
+
+ public CompositeStartupMessageLogger(RootMessageLogger[] loggers)
+ {
+ super();
+ _loggers = loggers;
+ }
+
+ @Override
+ public void rawMessage(String message, String logHierarchy)
+ {
+ for(RootMessageLogger l : _loggers)
+ {
+ l.rawMessage(message, logHierarchy);
+ }
+ }
+
+ @Override
+ public void rawMessage(String message, Throwable throwable, String logHierarchy)
+ {
+ for(RootMessageLogger l : _loggers)
+ {
+ l.rawMessage(message, throwable, logHierarchy);
+ }
+ }
+
+}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties
index bd42425033..722b02d935 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties
@@ -24,7 +24,7 @@ STARTUP = MNG-1001 : Startup
LISTENING = MNG-1002 : Starting : {0} : Listening on port {1,number,#}
# 0 - Service
# 1 - Port
-SHUTTING_DOWN = MNG-1003 : Shuting down : {0} : port {1,number,#}
+SHUTTING_DOWN = MNG-1003 : Shutting down : {0} : port {1,number,#}
READY = MNG-1004 : Ready
STOPPED = MNG-1005 : Stopped
# 0 - Path
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 90e0bba6f7..fb369b4d5b 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
@@ -73,7 +73,6 @@ import java.util.Map;
public class JMXManagedObjectRegistry implements ManagedObjectRegistry
{
private static final Logger _log = Logger.getLogger(JMXManagedObjectRegistry.class);
- private static final Logger _startupLog = Logger.getLogger("Qpid.Broker");
public static final String MANAGEMENT_PORT_CONFIG_PATH = "management.jmxport";
public static final int MANAGEMENT_PORT_DEFAULT = 8999;
@@ -108,7 +107,6 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
if (areOutOfTheBoxJMXOptionsSet())
{
_log.warn("JMX: Using the out of the box JMX Agent");
- _startupLog.warn("JMX: Using the out of the box JMX Agent");
return;
}
@@ -170,9 +168,6 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
+ ksf + ". Check permissions.");
}
- _log.info("JMX ConnectorServer using SSL keystore file " + ksf.getAbsolutePath());
- _startupLog.info("JMX ConnectorServer using SSL keystore file " + ksf.getAbsolutePath());
-
CurrentActor.get().message(ManagementConsoleMessages.SSL_KEYSTORE(ksf.getAbsolutePath()));
}
@@ -196,13 +191,8 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
csf = new SslRMIClientSocketFactory();
ssf = new SslRMIServerSocketFactory();
- _log.warn("Starting JMX ConnectorServer on port '"+ port + "' (+" +
- (port +PORT_EXPORT_OFFSET) + ") with SSL");
- _startupLog.warn("Starting JMX ConnectorServer on port '"+ port + "' (+" +
- (port +PORT_EXPORT_OFFSET) + ") with SSL");
-
- CurrentActor.get().message(ManagementConsoleMessages.LISTENING("SSL RMI Registry", port));
- CurrentActor.get().message(ManagementConsoleMessages.LISTENING("SSL RMI ConnectorServer", port + PORT_EXPORT_OFFSET));
+ CurrentActor.get().message(ManagementConsoleMessages.LISTENING("RMI Registry", port));
+ CurrentActor.get().message(ManagementConsoleMessages.LISTENING("SSL JMX RMIConnectorServer", port + PORT_EXPORT_OFFSET));
}
else
@@ -211,10 +201,8 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry
csf = null;
ssf = null;
- _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.LISTENING("RMI Registry", port));
- CurrentActor.get().message(ManagementConsoleMessages.LISTENING("RMI ConnectorServer", port + PORT_EXPORT_OFFSET));
+ CurrentActor.get().message(ManagementConsoleMessages.LISTENING("JMX RMIConnectorServer", port + PORT_EXPORT_OFFSET));
}
//add a JMXAuthenticator implementation the env map to authenticate the RMI based JMX connector server
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 e0a7c9c756..19b4586017 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
@@ -74,7 +74,7 @@ public class MBeanInvocationHandlerImpl implements InvocationHandler, Notificati
final Class<?>[] interfaces = new Class[] { MBeanServerForwarder.class };
- _logActor = new ManagementActor(CurrentActor.get().getRootMessageLogger());
+ _logActor = new ManagementActor(ApplicationRegistry.getInstance().getRootMessageLogger());
Object proxy = Proxy.newProxyInstance(MBeanServerForwarder.class.getClassLoader(), interfaces, handler);
return MBeanServerForwarder.class.cast(proxy);
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 e9d1ead4f7..78a642f22f 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
@@ -38,9 +38,11 @@ import org.apache.qpid.server.configuration.ServerConfiguration;
import org.apache.qpid.server.configuration.SystemConfig;
import org.apache.qpid.server.configuration.SystemConfigImpl;
import org.apache.qpid.server.configuration.VirtualHostConfiguration;
+import org.apache.qpid.server.logging.CompositeStartupMessageLogger;
import org.apache.qpid.server.logging.Log4jMessageLogger;
import org.apache.qpid.server.logging.RootMessageLogger;
import org.apache.qpid.server.logging.AbstractRootMessageLogger;
+import org.apache.qpid.server.logging.SystemOutMessageLogger;
import org.apache.qpid.server.logging.actors.BrokerActor;
import org.apache.qpid.server.logging.actors.CurrentActor;
import org.apache.qpid.server.logging.messages.BrokerMessages;
@@ -91,6 +93,8 @@ public abstract class ApplicationRegistry implements IApplicationRegistry
protected RootMessageLogger _rootMessageLogger;
+ protected CompositeStartupMessageLogger _startupMessageLogger;
+
protected UUID _brokerId = UUID.randomUUID();
protected QMFService _qmfService;
@@ -249,36 +253,53 @@ public abstract class ApplicationRegistry implements IApplicationRegistry
public void initialise(int instanceID) throws Exception
{
+ //Create the RootLogger to be used during broker operation
_rootMessageLogger = new Log4jMessageLogger(_configuration);
_registryName = String.valueOf(instanceID);
- // Set the Actor for current log messages
- CurrentActor.set(new BrokerActor(_registryName, _rootMessageLogger));
-
- configure();
+ //Create the composite (log4j+SystemOut MessageLogger to be used during startup
+ RootMessageLogger[] messageLoggers = {new SystemOutMessageLogger(), _rootMessageLogger};
+ _startupMessageLogger = new CompositeStartupMessageLogger(messageLoggers);
+
+ CurrentActor.set(new BrokerActor(_startupMessageLogger));
- _qmfService = new QMFService(getConfigStore(), this);
+ try
+ {
+ configure();
- CurrentActor.get().message(BrokerMessages.STARTUP(QpidProperties.getReleaseVersion(), QpidProperties.getBuildVersion()));
+ _qmfService = new QMFService(getConfigStore(), this);
- initialiseManagedObjectRegistry();
+ CurrentActor.get().message(BrokerMessages.STARTUP(QpidProperties.getReleaseVersion(), QpidProperties.getBuildVersion()));
- _virtualHostRegistry = new VirtualHostRegistry(this);
+ initialiseManagedObjectRegistry();
- _securityManager = new SecurityManager(_configuration, _pluginManager);
+ _virtualHostRegistry = new VirtualHostRegistry(this);
- createDatabaseManager(_configuration);
+ _securityManager = new SecurityManager(_configuration, _pluginManager);
- _authenticationManager = new PrincipalDatabaseAuthenticationManager(null, null);
+ createDatabaseManager(_configuration);
- _databaseManager.initialiseManagement(_configuration);
+ _authenticationManager = new PrincipalDatabaseAuthenticationManager(null, null);
- _managedObjectRegistry.start();
+ _databaseManager.initialiseManagement(_configuration);
- initialiseVirtualHosts();
+ _managedObjectRegistry.start();
+ }
+ finally
+ {
+ CurrentActor.remove();
+ }
- // Startup complete, so pop the current actor
- CurrentActor.remove();
+ CurrentActor.set(new BrokerActor(_rootMessageLogger));
+ try
+ {
+ initialiseVirtualHosts();
+ }
+ finally
+ {
+ // Startup complete, so pop the current actor
+ CurrentActor.remove();
+ }
}
protected void createDatabaseManager(ServerConfiguration configuration) throws Exception
@@ -444,6 +465,11 @@ public abstract class ApplicationRegistry implements IApplicationRegistry
{
return _rootMessageLogger;
}
+
+ public RootMessageLogger getCompositeStartupMessageLogger()
+ {
+ return _startupMessageLogger;
+ }
public UUID getBrokerId()
{