Я должен аутентифицировать клиентов JMX по записям в базе данных. Поэтому я написал собственную реализацию JMXAuthenticator.
При запуске приложения я могу получить доступ к MBeans с помощью JConsole через «Локальный процесс». Но когда я пытаюсь получить доступ к нему как к удаленному процессу, используя url 'service: jmx: rmi: /// jndi / rmi: // localhost: 10999 / jmxrmi', JConsole показывает сообщение, в котором говорится: «Подключение к сервису: jmx: rmi: /// jndi / rmi: // localhost: 10999 / jmxrmi не удалось. '
Ниже приведен код на стороне сервера для запуска MBeanServer и JMXConnectorServer. Кто-нибудь знает, что я делаю не так?
Заранее спасибо,
Thomas
final MBeanServer mbs = MBeanServerFactory.createMBeanServer("MyDomain");
final HashMap<String, Object> environment = new HashMap<String, Object>();
final JMXAuthenticator authenticator = new JMXAuthenticatorImpl();
environment.put(JMXConnectorServer.AUTHENTICATOR, authenticator);
final JMXServiceURL serviceURL = new JMXServiceURL("rmi", "localhost", 10999);
final JMXConnectorServer connectorServer = JMXConnectorServerFactory.newJMXConnectorServer(serviceURL, environment, mbs);
connectorServer.start();