diff options
| author | Keith Wall <kwall@apache.org> | 2012-08-30 20:54:43 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2012-08-30 20:54:43 +0000 |
| commit | a1d821e39040e39c3f36a13de6357b4e216fd918 (patch) | |
| tree | 02f796453a19d06338bd49b1df7824f086e9000e /java/broker-plugins | |
| parent | ed55426f56b6820915d642a52dc451e78f70ceb6 (diff) | |
| download | qpid-python-a1d821e39040e39c3f36a13de6357b4e216fd918.tar.gz | |
QPID-4270: Change web management plugin to log management operational log messages.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1379139 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker-plugins')
4 files changed, 61 insertions, 16 deletions
diff --git a/java/broker-plugins/management-http/MANIFEST.MF b/java/broker-plugins/management-http/MANIFEST.MF index 525801f65f..c6c5c65277 100644 --- a/java/broker-plugins/management-http/MANIFEST.MF +++ b/java/broker-plugins/management-http/MANIFEST.MF @@ -21,6 +21,7 @@ Import-Package: org.apache.qpid, org.apache.qpid.server.exchange, org.apache.qpid.server.logging, org.apache.qpid.server.logging.actors, + org.apache.qpid.server.logging.messages, org.apache.qpid.server.message, org.apache.qpid.server.model, org.apache.qpid.server.model.adapter, diff --git a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/Management.java b/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/Management.java index 38a8722852..cdb5e0607c 100644 --- a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/Management.java +++ b/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/Management.java @@ -28,6 +28,8 @@ import java.util.Collection; import org.apache.commons.configuration.ConfigurationException; import org.apache.log4j.Logger; +import org.apache.qpid.server.logging.actors.CurrentActor; +import org.apache.qpid.server.logging.messages.ManagementConsoleMessages; import org.apache.qpid.server.management.plugin.servlet.DefinedFileServlet; import org.apache.qpid.server.management.plugin.servlet.FileServlet; import org.apache.qpid.server.management.plugin.servlet.api.ExchangesServlet; @@ -56,6 +58,7 @@ import org.apache.qpid.server.model.User; import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.registry.ApplicationRegistry; import org.apache.qpid.server.registry.IApplicationRegistry; +import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.SessionManager; import org.eclipse.jetty.server.nio.SelectChannelConnector; @@ -66,12 +69,13 @@ import org.eclipse.jetty.util.ssl.SslContextFactory; public class Management { + private static final String OPERATIONAL_LOGGING_NAME = "Web"; private final Logger _logger = Logger.getLogger(Management.class); - private Broker _broker; + private final Broker _broker; - private Collection<Server> _servers = new ArrayList<Server>(); + private final Collection<Server> _servers = new ArrayList<Server>(); public Management() throws ConfigurationException, IOException { @@ -206,28 +210,34 @@ public class Management public void start() throws Exception { + CurrentActor.get().message(ManagementConsoleMessages.STARTUP(OPERATIONAL_LOGGING_NAME)); + for (Server server : _servers) { server.start(); + + logOperationalListenMessages(server); } + + CurrentActor.get().message(ManagementConsoleMessages.READY(OPERATIONAL_LOGGING_NAME)); } public void stop() throws Exception { for (Server server : _servers) { + logOperationalShutdownMessage(server); + server.stop(); } + + CurrentActor.get().message(ManagementConsoleMessages.STOPPED(OPERATIONAL_LOGGING_NAME)); } private String getKeyStorePath(IApplicationRegistry appRegistry) throws ConfigurationException, FileNotFoundException { - String keyStorePath = null; - if (System.getProperty("javax.net.ssl.keyStore") != null) - { - keyStorePath = System.getProperty("javax.net.ssl.keyStore"); - } - else + String keyStorePath = System.getProperty("javax.net.ssl.keyStore"); + if (keyStorePath == null) { keyStorePath = appRegistry.getConfiguration().getManagementKeyStorePath(); } @@ -251,4 +261,36 @@ public class Management return keyStorePath; } + private void logOperationalListenMessages(Server server) + { + Connector[] connectors = server.getConnectors(); + for (Connector connector : connectors) + { + CurrentActor.get().message(ManagementConsoleMessages.LISTENING(stringifyConnectorScheme(connector), connector.getPort())); + if (connector instanceof SslSocketConnector) + { + SslContextFactory sslContextFactory = ((SslSocketConnector)connector).getSslContextFactory(); + if (sslContextFactory != null && sslContextFactory.getKeyStorePath() != null) + { + CurrentActor.get().message(ManagementConsoleMessages.SSL_KEYSTORE(sslContextFactory.getKeyStorePath())); + } + } + } + } + + private void logOperationalShutdownMessage(Server server) + { + Connector[] connectors = server.getConnectors(); + for (Connector connector : connectors) + { + CurrentActor.get().message(ManagementConsoleMessages.SHUTTING_DOWN(stringifyConnectorScheme(connector), connector.getPort())); + } + } + + private String stringifyConnectorScheme(Connector connector) + { + return connector instanceof SslSocketConnector ? "HTTPS" : "HTTP"; + } + + } diff --git a/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java b/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java index e68c0d650b..44fe4787bb 100644 --- a/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java +++ b/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java @@ -79,6 +79,8 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry { private static final Logger _log = Logger.getLogger(JMXManagedObjectRegistry.class); + private static final String OPERATIONAL_LOGGING_NAME = "JMX"; + private final MBeanServer _mbeanServer; private JMXConnectorServer _cs; private Registry _rmiRegistry; @@ -108,12 +110,12 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry public void start() throws IOException, ConfigurationException { - CurrentActor.get().message(ManagementConsoleMessages.STARTUP()); + CurrentActor.get().message(ManagementConsoleMessages.STARTUP(OPERATIONAL_LOGGING_NAME)); //check if system properties are set to use the JVM's out-of-the-box JMXAgent if (areOutOfTheBoxJMXOptionsSet()) { - CurrentActor.get().message(ManagementConsoleMessages.READY(true)); + CurrentActor.get().message(ManagementConsoleMessages.READY(OPERATIONAL_LOGGING_NAME)); return; } @@ -359,7 +361,7 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry String connectorServer = (sslEnabled ? "SSL " : "") + "JMX RMIConnectorServer"; CurrentActor.get().message(ManagementConsoleMessages.LISTENING(connectorServer, _jmxPortConnectorServer)); - CurrentActor.get().message(ManagementConsoleMessages.READY(false)); + CurrentActor.get().message(ManagementConsoleMessages.READY(OPERATIONAL_LOGGING_NAME)); } /* @@ -492,7 +494,7 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry } } - CurrentActor.get().message(ManagementConsoleMessages.STOPPED()); + CurrentActor.get().message(ManagementConsoleMessages.STOPPED(OPERATIONAL_LOGGING_NAME)); } } diff --git a/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java b/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java index 6100d5a23e..c849a3b648 100644 --- a/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java +++ b/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/systest/management/jmx/ManagementLoggingTest.java @@ -36,11 +36,11 @@ import java.util.List; * * This suite of tests validate that the management console messages occur correctly and according to the following format: * - * MNG-1001 : Startup + * MNG-1001 : <type> Management Startup * MNG-1002 : Starting : <service> : Listening on port <Port> * MNG-1003 : Shutting down : <service> : port <Port> - * MNG-1004 : Ready - * MNG-1005 : Stopped + * MNG-1004 : <type> Management Ready + * MNG-1005 : <type> Management Stopped * MNG-1006 : Using SSL Keystore : <path> * MNG-1007 : Open : User <username> * MNG-1008 : Close : User <username> @@ -105,7 +105,7 @@ public class ManagementLoggingTest extends AbstractTestLogging 2, results.size()); //3 - assertEquals("Startup log message is not 'Startup'.", "Startup", + assertEquals("Startup log message is not 'Startup'.", "JMX Management Startup", getMessageString(log)); } } |
