We got the following error but we did not change anything. Although the activemq is still functioning, we would like to understand the meaning of "failed to resolve jmxUrl for pid:11404".
Version: apache-activemq-5.12.1 and Java 1.7
Platform: redhat 6.8
[rhmvno03 ~]$ /app/actmq/current/bin/activemq restart
INFO: Loading '/app/actmq/apache-activemq-5.12.1//bin/env'
INFO: Using java '/usr/bin/java'
INFO: Loading '/app/actmq/apache-activemq-5.12.1//bin/env'
INFO: Using java '/usr/bin/java'
INFO: Waiting at least 30 seconds for regular process termination of pid '11404' :
Java Runtime: Oracle Corporation 1.7.0_261 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261.x86_64/jre
Heap sizes: current=63488k free=62473k max=932352k
JVM args: -Xms64M -Xmx1024M -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/app/actmq/apache-activemq-5.12.1//conf/login.config -Dactivemq.classpath=/app/actmq/apache-activemq-5.12.1//conf:/app/actmq/apache-activemq-5.12.1//../lib/ -Dactivemq.home=/app/actmq/apache-activemq-5.12.1/ -Dactivemq.base=/app/actmq/apache-activemq-5.12.1/ -Dactivemq.conf=/app/actmq/apache-activemq-5.12.1//conf -Dactivemq.data=/app/actmq/apache-activemq-5.12.1//data
Extensions classpath:
[/app/actmq/apache-activemq-5.12.1/lib,/app/actmq/apache-activemq-5.12.1/lib/camel,/app/actmq/apache-activemq-5.12.1/lib/optional,/app/actmq/apache-activemq-5.12.1/lib/web,/app/actmq/apache-activemq-5.12.1/lib/extra]
ACTIVEMQ_HOME: /app/actmq/apache-activemq-5.12.1
ACTIVEMQ_BASE: /app/actmq/apache-activemq-5.12.1
ACTIVEMQ_CONF: /app/actmq/apache-activemq-5.12.1/conf
ACTIVEMQ_DATA: /app/actmq/apache-activemq-5.12.1/data
Connecting to pid: 11404
INFO: failed to resolve jmxUrl for pid:11404, using default JMX url
Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
Stopping broker: rhmvno03
.. TERMINATED
The log statement is not necessarily an error. It is logged at INFO
level because it is simply informing the user of the situation.
ActiveMQ management is ultimately based on Java Management Extensions (i.e. JMX). Therefore, when you invoke the activemq restart
command the code attempts to use the process ID (i.e. 11404
in this case) to derive the proper JMX URL by inspecting the com.sun.management.jmxremote.localConnectorAddress
system property of the JVM instance with the corresponding process ID. If it can't find this value, for whatever reason, then it logs this and falls back to the default (i.e. service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
).
As long as you aren't running multiple instances of ActiveMQ on the same hardware or using a non-standard port for JMX then everything should work fine with the default JMX URL.