Приложение Java с поддержкой JMX открывает случайный порт высокого порядка при подключении клиента JMX - PullRequest
9 голосов
/ 23 августа 2011

Приложение Java с поддержкой JMX открывает случайный порт высокого порядка при подключении клиента JMX

Я успешно настроил программу helloworld JMX и могу подключиться к ней с помощью клиента jconsole JMX из удаленного местоположения.

Когда я пытался включить iptables, я заметил, что случайный порт высокого порядка устанавливается, когда клиент входит в систему. В конце концов я хотел бы отслеживать приложения Java в сегментированных сегментах брандмауэра сети. Можем ли мы контролировать диапазон, в котором открывается случайный порт?

Я перенесу этот вопрос на serverfault.com, если это будет предложено.

Ответы [ 5 ]

7 голосов
/ 05 августа 2015

Начиная с Java 7u25, порт RMI можно изменить с помощью системного свойства:

-Dcom.sun.management.jmxremote.rmi.port=1234

Подробнее см. в этом ответе .

4 голосов
/ 23 августа 2011

Возможно контролировать порт, используемый RMI.См .: http://olegz.wordpress.com/2009/03/23/jmx-connectivity-through-the-firewall/

Для этого требуется код и параметр командной строки.Я не знаю, как сделать это без кода (хотя код, очевидно, может быть упакован в другой файл).

0 голосов
/ 05 октября 2016

Обходной путь - установить порт RMI таким же, как порт JMX;тогда только один порт должен быть открыт на брандмауэре.

Например:

-Dcom.sun.management.jmxremote.port=8989
-Dcom.sun.management.jmxremote.rmi.port=8989

См. Почему Java открывает 3 порта при настройке JMX?

0 голосов
/ 19 июля 2016

кстати, этим третьим эфемерным портом тоже можно управлять - https://www.paybackblog.de/java-jmx-how-to-finally-control-your-ports/

0 голосов
/ 21 марта 2016

Случайный третий порт, кажется, ожидаемое поведение https://bugs.openjdk.java.net/browse/JDK-8035404

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...