diff options
| author | Keith Wall <kwall@apache.org> | 2015-04-10 09:57:39 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2015-04-10 09:57:39 +0000 |
| commit | 60c56cbf7bf8afd5dc577480853e7214cb60b3e2 (patch) | |
| tree | 472e786d636fd51ae12ea0061596ec7e0b64d811 /qpid/java/broker-plugins/management-jmx | |
| parent | b187311574bbf087f376256d237173b38a84fdbc (diff) | |
| download | qpid-python-60c56cbf7bf8afd5dc577480853e7214cb60b3e2.tar.gz | |
QPID-6485: [Java Broker] Remove superfluous find/get methods from the Broker configured object
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1672602 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins/management-jmx')
| -rw-r--r-- | qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java index 36b3a0a058..381295a18a 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java @@ -23,7 +23,6 @@ package org.apache.qpid.server.jmx; import java.io.IOException; import java.lang.management.ManagementFactory; import java.net.InetAddress; -import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.rmi.AlreadyBoundException; import java.rmi.NoSuchObjectException; @@ -57,8 +56,10 @@ import org.apache.qpid.server.logging.EventLogger; import org.apache.qpid.server.logging.messages.ManagementConsoleMessages; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.KeyStore; -import org.apache.qpid.server.model.Port; import org.apache.qpid.server.model.Transport; +import org.apache.qpid.server.model.port.JmxPort; +import org.apache.qpid.server.model.port.RmiPort; +import org.apache.qpid.server.security.SubjectCreator; import org.apache.qpid.server.security.auth.jmx.JMXPasswordAuthenticator; import org.apache.qpid.server.util.ServerScopedRuntimeException; @@ -78,12 +79,12 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry private Registry _rmiRegistry; private final Broker _broker; - private final Port _registryPort; - private final Port _connectorPort; + private final RmiPort _registryPort; + private final JmxPort _connectorPort; public JMXManagedObjectRegistry( Broker broker, - Port connectorPort, Port registryPort, + JmxPort connectorPort, RmiPort registryPort, JMXManagementPlugin jmxManagement) { _broker = broker; @@ -158,8 +159,14 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry int jmxPortConnectorServer = _connectorPort.getPort(); //add a JMXAuthenticator implementation the env map to authenticate the RMI based JMX connector server - JMXPasswordAuthenticator rmipa = new JMXPasswordAuthenticator(_broker, new InetSocketAddress(jmxPortConnectorServer), connectorSslEnabled); - HashMap<String,Object> connectorEnv = new HashMap<String,Object>(); + SubjectCreator subjectCreator =_connectorPort.getAuthenticationProvider().getSubjectCreator(connectorSslEnabled); + if (subjectCreator == null) + { + throw new SecurityException("Can't get subject creator for " + _connectorPort); + } + + JMXPasswordAuthenticator rmipa = new JMXPasswordAuthenticator(subjectCreator, _broker.getSecurityManager()); + HashMap<String,Object> connectorEnv = new HashMap<>(); connectorEnv.put(JMXConnectorServer.AUTHENTICATOR, rmipa); System.setProperty("java.rmi.server.randomIDs", "true"); |
