diff options
author | Martin Ritchie <ritchiem@apache.org> | 2008-12-16 15:49:33 +0000 |
---|---|---|
committer | Martin Ritchie <ritchiem@apache.org> | 2008-12-16 15:49:33 +0000 |
commit | b34234b5d93acc8c840ed412712069a549e2a86d (patch) | |
tree | e5dc135f0fb86c1c87eaf5ba60311adde6d4162d | |
parent | 83cf9b595ce30e1379290356870dbba33144c8d8 (diff) | |
download | qpid-python-b34234b5d93acc8c840ed412712069a549e2a86d.tar.gz |
QPID-1538 : Ensure that RMI connections use our custom Invoker
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@727068 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java index 659f806d58..0a9f993dcc 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java @@ -59,7 +59,7 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry private final MBeanServer _mbeanServer; private Registry _rmiRegistry; private JMXServiceURL _jmxURL; - + public static final String MANAGEMENT_PORT_CONFIG_PATH = "management.jmxport"; public static final int MANAGEMENT_PORT_DEFAULT = 8999; @@ -73,10 +73,9 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry _mbeanServer = platformServer ? ManagementFactory.getPlatformMBeanServer() - : MBeanServerFactory.createMBeanServer(ManagedObject.DOMAIN); + : MBeanServerFactory.createMBeanServer(ManagedObject.DOMAIN); } - public void start() throws IOException { // Check if the "QPID_OPTS" is set to use Out of the Box JMXAgent @@ -91,12 +90,13 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry boolean security = appRegistry.getConfiguration().getBoolean("management.security-enabled", false); int port = appRegistry.getConfiguration().getInt(MANAGEMENT_PORT_CONFIG_PATH, MANAGEMENT_PORT_DEFAULT); + Map env = new HashMap(); + if (security) { // For SASL using JMXMP _jmxURL = new JMXServiceURL("jmxmp", null, port); - Map env = new HashMap(); Map<String, PrincipalDatabase> map = appRegistry.getDatabaseManager().getDatabases(); PrincipalDatabase db = null; @@ -139,18 +139,20 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry env.put(RMIConnectorServer.RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE, ssf); */ - JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(_jmxURL, env, _mbeanServer); - MBeanServerForwarder mbsf = MBeanInvocationHandlerImpl.newProxyInstance(); - cs.setMBeanServerForwarder(mbsf); - cs.start(); - _log.warn("JMX: Started JMXConnector server on port '" + port + "' with SASL"); + _log.warn("JMX: Starting JMXConnector server on port '" + port + "' with SASL"); } else { - startJMXConnectorServer(port); - _log.warn("JMX: Started JMXConnector server on port '" + port + "' with security disabled"); + env = null; + _jmxURL = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + port + "/jmxrmi"); + _log.warn("JMX: Starting JMXConnector server on port '" + port + "' with security disabled"); } + + + startJMXConnectorServer(port, env); + _log.warn("JMX: Started JMXConnector server on port '" + port + "'"); + } /** @@ -158,13 +160,18 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry * * @param port * + * @param env * @throws IOException */ - private void startJMXConnectorServer(int port) throws IOException + private void startJMXConnectorServer(int port, Map env) throws IOException { startRMIRegistry(port); - _jmxURL = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + port + "/jmxrmi"); - JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(_jmxURL, null, _mbeanServer); + + JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(_jmxURL, env, _mbeanServer); + + MBeanServerForwarder mbsf = MBeanInvocationHandlerImpl.newProxyInstance(); + cs.setMBeanServerForwarder(mbsf); + cs.start(); } |