Author: kwall
Date: Fri Jun 15 13:21:51 2012
New Revision: 1350610
URL: http://svn.apache.org/viewvc?rev=1350610&view=rev
Log:
NO-JIRA: Allow JMX to be turned off from configuration
Modified:
qpid/branches/java-config-and-management/qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXActivator.java
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/Management.java
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
qpid/branches/java-config-and-management/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
qpid/branches/java-config-and-management/qpid/java/systests/etc/config-systests-settings.xml
qpid/branches/java-config-and-management/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/MessageStatisticsTest.java
Modified:
qpid/branches/java-config-and-management/qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java
URL:
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java?rev=1350610&r1=1350609&r2=1350610&view=diff
==============================================================================
---
qpid/branches/java-config-and-management/qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java
(original)
+++
qpid/branches/java-config-and-management/qpid/java/bdbstore/jmx/src/test/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanTest.java
Fri Jun 15 13:21:51 2012
@@ -38,6 +38,7 @@ import junit.framework.TestCase;
import org.apache.qpid.AMQStoreException;
import org.apache.qpid.server.jmx.AMQManagedObject;
+import org.apache.qpid.server.jmx.ManagedObjectRegistry;
import org.apache.qpid.server.logging.SystemOutMessageLogger;
import org.apache.qpid.server.logging.actors.CurrentActor;
import org.apache.qpid.server.logging.actors.TestLogActor;
@@ -68,6 +69,7 @@ public class BDBHAMessageStoreManagerMBe
CurrentActor.set(new TestLogActor(new SystemOutMessageLogger()));
_store = mock(BDBHAMessageStore.class);
_mBeanParent = mock(AMQManagedObject.class);
+
when(_mBeanParent.getRegistry()).thenReturn(mock(ManagedObjectRegistry.class));
_mBean = new BDBHAMessageStoreManagerMBean(_store, _mBeanParent);
}
Modified:
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXActivator.java
URL:
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXActivator.java?rev=1350610&r1=1350609&r2=1350610&view=diff
==============================================================================
---
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXActivator.java
(original)
+++
qpid/branches/java-config-and-management/qpid/java/broker-plugins/jmx/src/main/java/org/apache/qpid/server/jmx/JMXActivator.java
Fri Jun 15 13:21:51 2012
@@ -20,46 +20,89 @@
*/
package org.apache.qpid.server.jmx;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
import org.apache.log4j.Logger;
import org.apache.qpid.server.configuration.plugins.ConfigurationPluginFactory;
+import org.apache.qpid.server.registry.ApplicationRegistry;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
public class JMXActivator implements BundleActivator
{
- private static final Logger _logger = Logger.getLogger(JMXActivator.class);
+ private static final Logger LOGGER = Logger.getLogger(JMXActivator.class);
- private BundleContext _ctx;
private String _bundleName;
private JMXService _jmxService;
+ private List<ServiceRegistration> _registeredServices;
+
public void start(final BundleContext ctx) throws Exception
{
- _ctx = ctx;
- _jmxService = new JMXService();
- _jmxService.start();
- _bundleName = ctx.getBundle().getSymbolicName();
-
- // register the service
- _logger.info("Registering jmx plugin: " + _bundleName);
- _ctx.registerService(JMXService.class.getName(), _jmxService, null);
- _ctx.registerService(ConfigurationPluginFactory.class.getName(),
JMXConfiguration.FACTORY, null);
+ boolean jmxManagementEnabled =
ApplicationRegistry.getInstance().getConfiguration().getJMXManagementEnabled();
+
+ if (jmxManagementEnabled)
+ {
+ _jmxService = new JMXService();
+ _jmxService.start();
+
+ _bundleName = ctx.getBundle().getSymbolicName();
+ LOGGER.info("Registering jmx plugin: " + _bundleName);
+
+ _registeredServices = registerServices(ctx);
+ }
+ else
+ {
+ LOGGER.debug("Skipping registration of JMX plugin as JMX
Management disabled in config. ");
+ }
}
public void stop(final BundleContext bundleContext) throws Exception
{
- _logger.info("Stopping jmx plugin: " + _bundleName);
try
{
- _jmxService.close();
+ if (_jmxService != null)
+ {
+ LOGGER.info("Stopping jmx plugin: " + _bundleName);
+ _jmxService.close();
+ }
+
+ if (_registeredServices != null)
+ {
+ unregisterServices();
+ }
}
finally
{
- // null object references
_jmxService = null;
- _ctx = null;
+ _registeredServices = null;
+ }
+ }
+
+
+ private List<ServiceRegistration> registerServices(BundleContext ctx)
+ {
+ List<ServiceRegistration> serviceRegistrations = new
ArrayList<ServiceRegistration>();
+
+ ServiceRegistration jmxServiceRegistration =
ctx.registerService(JMXService.class.getName(), _jmxService, null);
+ ServiceRegistration jmxConfigFactoryRegistration =
ctx.registerService(ConfigurationPluginFactory.class.getName(),
JMXConfiguration.FACTORY, null);
+
+ serviceRegistrations.add(jmxServiceRegistration);
+ serviceRegistrations.add(jmxConfigFactoryRegistration);
+ return serviceRegistrations;
+ }
+
+ private void unregisterServices()
+ {
+ for (Iterator<ServiceRegistration> iterator =
_registeredServices.iterator(); iterator.hasNext();)
+ {
+ ServiceRegistration service = iterator.next();
+ service.unregister();
}
}
}
Modified:
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/Management.java
URL:
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/Management.java?rev=1350610&r1=1350609&r2=1350610&view=diff
==============================================================================
---
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/Management.java
(original)
+++
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/Management.java
Fri Jun 15 13:21:51 2012
@@ -59,11 +59,20 @@ public class Management
{
if(port.getTransports().contains(Transport.TCP))
{
- _servers.add(createServer(port.getPort()));
+ int portNumber = port.getPort();
+ if (_logger.isInfoEnabled())
+ {
+ _logger.info("Creating web server on port " +
portNumber);
+ }
+ _servers.add(createServer(portNumber));
}
}
}
+ if (_logger.isDebugEnabled())
+ {
+ _logger.info(_servers.size() + " server(s) defined");
+ }
}
Modified:
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
URL:
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java?rev=1350610&r1=1350609&r2=1350610&view=diff
==============================================================================
---
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
(original)
+++
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
Fri Jun 15 13:21:51 2012
@@ -640,16 +640,11 @@ public class ServerConfiguration extends
return getBooleanValue("queue.auto_register", true);
}
- public boolean getManagementEnabled()
+ public boolean getJMXManagementEnabled()
{
return getBooleanValue("management.enabled", true);
}
- public void setManagementEnabled(boolean enabled)
- {
- getConfig().setProperty("management.enabled", enabled);
- }
-
public int getHeartBeatDelay()
{
return getIntValue("heartbeat.delay", 5);
Modified:
qpid/branches/java-config-and-management/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
URL:
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java?rev=1350610&r1=1350609&r2=1350610&view=diff
==============================================================================
---
qpid/branches/java-config-and-management/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
(original)
+++
qpid/branches/java-config-and-management/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/ServerConfigurationTest.java
Fri Jun 15 13:21:51 2012
@@ -287,25 +287,17 @@ public class ServerConfigurationTest ext
assertEquals(false, _serverConfig.getQueueAutoRegister());
}
- public void testGetManagementEnabled() throws ConfigurationException
+ public void testGetJMXManagementEnabled() throws ConfigurationException
{
// Check default
_serverConfig.initialise();
- assertEquals(true, _serverConfig.getManagementEnabled());
+ assertEquals(true, _serverConfig.getJMXManagementEnabled());
// Check value we set
_config.setProperty("management.enabled", false);
_serverConfig = new ServerConfiguration(_config);
_serverConfig.initialise();
- assertEquals(false, _serverConfig.getManagementEnabled());
- }
-
- public void testSetManagementEnabled() throws ConfigurationException
- {
- // Check value we set
- _serverConfig.initialise();
- _serverConfig.setManagementEnabled(false);
- assertEquals(false, _serverConfig.getManagementEnabled());
+ assertEquals(false, _serverConfig.getJMXManagementEnabled());
}
public void testGetManagementRightsInferAllAccess() throws Exception
Modified:
qpid/branches/java-config-and-management/qpid/java/systests/etc/config-systests-settings.xml
URL:
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/systests/etc/config-systests-settings.xml?rev=1350610&r1=1350609&r2=1350610&view=diff
==============================================================================
---
qpid/branches/java-config-and-management/qpid/java/systests/etc/config-systests-settings.xml
(original)
+++
qpid/branches/java-config-and-management/qpid/java/systests/etc/config-systests-settings.xml
Fri Jun 15 13:21:51 2012
@@ -56,6 +56,9 @@
<keyStorePath>${QPID_HOME}/../test-profiles/test_resources/ssl/java_broker_keystore.jks</keyStorePath>
<keyStorePassword>password</keyStorePassword>
</ssl>
+ <http>
+ <enabled>false</enabled>
+ </http>
</management>
<advanced>
<framesize>65535</framesize>
Modified:
qpid/branches/java-config-and-management/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/MessageStatisticsTest.java
URL:
http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/MessageStatisticsTest.java?rev=1350610&r1=1350609&r2=1350610&view=diff
==============================================================================
---
qpid/branches/java-config-and-management/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/MessageStatisticsTest.java
(original)
+++
qpid/branches/java-config-and-management/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/MessageStatisticsTest.java
Fri Jun 15 13:21:51 2012
@@ -50,11 +50,11 @@ public class MessageStatisticsTest exten
@Override
public void setUp() throws Exception
{
- super.setUp();
-
_jmxUtils = new JMXTestUtils(this, TEST_USER, TEST_PASSWORD);
_jmxUtils.setUp();
+ super.setUp();
+
_brokerUrl = getBroker().toString();
_test1 = new AMQConnection(_brokerUrl, TEST_USER, TEST_PASSWORD,
"clientid", "test");
_dev = new AMQConnection(_brokerUrl, TEST_USER, TEST_PASSWORD,
"clientid", "development");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]