summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2008-12-16 15:49:33 +0000
committerMartin Ritchie <ritchiem@apache.org>2008-12-16 15:49:33 +0000
commitb34234b5d93acc8c840ed412712069a549e2a86d (patch)
treee5dc135f0fb86c1c87eaf5ba60311adde6d4162d
parent83cf9b595ce30e1379290356870dbba33144c8d8 (diff)
downloadqpid-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.java35
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();
}