JMX Management Beans Support - BloomReach Experience - Open Source CMS

This article covers a Hippo CMS version 10. There's an updated version available that covers our most recent release.

26-05-2015

JMX Management Beans Support

HST provides built-in JMX Management Beans to manage session pools, caches, etc.

1. How to enable JMX MBeans support in HST applications

By default, HST Container registers JMX MBeans for Session Pools, Session Pool Counters, etc. You don't have to configure anything for JMX MBeans support.

However, if you want to allow remote access, then you may configure some JVM system properties like the following example:

-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false

Now, if you replace %my.jmx.port% with 9875, for instance, then you can browse the JMX MBeans by using jconsole command, which is located in the $JAVA_HOME/bin directory:

$ jconsole

You may choose one local JMX agent from a local JVM instance by selecting one from the command line names and process IDs in the list.

Or if you enable remote access for the JMX through RMI, then you may run a command like the following. You will need to configure a proper security mechanism (e.g., ssl, authentication option or password files).

$ jconsole service:jmx:rmi:///jndi/rmi://localhost:9875/jmxrmi

For more information about enable remote JMX access, see [ http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html.

Also see the following page for Tomcat environment:

http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html#Enabling_JMX_Remote

If you want, you can also install a JMX MBeans management web application to allow remote access, such as jManage.

Also, you can simply add your own MBeans because HST Container support MBeans with Spring Framework JMX Integration Support.

2. Built-in MBeans

The following built-in MBeans are provided for session pools:

  • org.onehippo.hst:type=SessionPool,name=default

  • org.onehippo.hst:type=SessionPoolCounter,name=default

  • org.onehippo.hst:type=SessionPool,name=preview

  • org.onehippo.hst:type=SessionPoolCounter,name=preview

  • org.onehippo.hst:type=SessionPool,name=binaries

  • org.onehippo.hst:type=SessionPoolCounter,name=binaries

  • org.onehippo.hst:type=SessionPool,name=writable

  • org.onehippo.hst:type=SessionPoolCounter,name=writable

  • org.onehippo.hst:type=SessionPool,name=hstconfigreader

  • org.onehippo.hst:type=SessionPoolCounter,name=hstconfigreader

Each MBean above represents org.hippoecm.hst.core.jcr.pool.PoolingRepositoryMBean or org.hippoecm.hst.core.jcr.pool.PoolingCounterMBean. The former represents the pool configurations and current states, while the latter represents (increasing) counters for monitoring purpose.

Also, HST exports Ehcache MBeans by default. HST  BinariesServlet uses Ehcache based cache for better response. So, you can monitor Ehcache MBeans automatically. See [ 1 ] for details to monitor Ehcache.

[ 1 ] http://ehcache.org/documentation/jmx.html

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?