Какой порт по умолчанию для JMX в ActiveMQ?

Я использую ActiveMQ 5.3.2 и 5.6.0. В ActiveMQ 5.3.2 настройки по умолчанию для JMX:

SUNJMX="-Dcom.sun.management.jmxremote"

В ActiveMQ 5.6.0 настройки по умолчанию для JMX:

ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote"

Итак, эти настройки не имеют определения порта. Не могли бы вы сказать мне, что ActiveMQ действительно запускает JMX-соединение с этими настройками? Если да, то какой порт по умолчанию для подключения, поскольку я не могу подключиться к 1099. Если порт выбран случайным образом, как найти порт, который использует ActiveMQ?

Спасибо.


person Lwin Htoo Ko    schedule 20.11.2012    source источник
comment
См. stackoverflow.com/questions/516142/, поскольку параметры JMX относятся к JVM и не относятся к ActiveMQ.   -  person Mark    schedule 20.11.2012


Ответы (3)


Порт по умолчанию - 1099. Это можно изменить, передав параметры jmx в качестве аргумента для activeMQ в стартовом скрипте activeMQ (файл activemq.bat или .sh). Использовать собственность

Dcom.sun.management.jmxremote.port для настройки порта JMX

person Dijesh    schedule 04.12.2012
comment
Несмотря на то, что команда запуска имеет параметр -Dcom.sun.management.jmxremote, я полагаю, вы должны убедиться, что в конфигурации брокера установлен флаг useJmx = true. Я прав ? - person Victor; 04.09.2019

Если вы запускаете ActiveMQ Broker в Spring Boot, это простой способ настроить порт JMX на значение 11099:

    BrokerService broker = new BrokerService();

    broker.getManagementContext().setConnectorPort(11099);
    broker.getSystemUsage().getStoreUsage().setLimit(100_000_000L);
    broker.getSystemUsage().getTempUsage().setLimit(100_000_000L);

    TransportConnector connector = new TransportConnector();
    connector.setUri(new URI("tcp://localhost:61616?wireFormat.maxInactivityDuration=3000000&wireFormat.maxInactivityDurationInitalDelay=1000000"));

    broker.addConnector(connector);
    broker.start();
person Pierluigi Vernetto    schedule 25.02.2020

По умолчанию он не привязан к порту jmx activemq по умолчанию, однако вы можете изменить файл activemq (или переменные среды, чтобы добавить его). JMX, если вы не укажете порт, не откроет его, явно указав его.

Например, раскомментируйте эту строку ( или эквивалент в файле activemq для более старых версий)

 # ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.port=11099 "

Так что, я думаю, вы можете считать это значением по умолчанию, если раскомментируете его строку конфигурации.

Кроме того, когда вы вводите команду остановки, и она не передает --jmxurl (по умолчанию это порт 11099 в версии activemq, которую я запускаю), она по умолчанию пытается связаться с service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi, даже если конфигурация по умолчанию не прослушивает этот порт без изменения конфигураций первый. Странный.

person rogerdpack    schedule 07.01.2021