Search code examples
activemq-classicjconsole

ActiveMQ broker listed in remote process - not able to find installation path


I have a kind of black-box application as it was developed by vendor. I could see all the topic and queues when I login to JConsole with this URL as remote process localhost:35099, but I am not seeing the ActiveMQ installation directory.

Is there any way to verify how broker is installed or determine which JVM it uses? What other things do I need to look out to figure out the ActiveMQ details?


Solution

  • The broker runs as a Java process, so you can find where the base directory of the running process, and then look for the data directory (sometimes the data is moved to a different location).

    For the java.home location (ie ActiveMQ's operating base directory)

    java.lang:type=Runtime
    

    Look on the attribute:

    SystemProperties
    

    It's type is 'javax.management.openmbean.TabularDataSupport. Click into it.. then scroll through the list until you find the SystemProperty

    java.home
    

    There should be a JMX bean for the broker:

    org.apache.activemq:type=Broker,brokerName=.. your broker name..
    

    Then look for the attribute to see where data is stored:

    DataDirectory /opt/activemq/../data