Jolokia is a solution for remote JMX access. It is agent based approach, living side by side with JSR- 160 connectors, but uses the much more open HTTP for its transport business where the data payload is serialized in JSON. This opens a whole new world for non-Java clients. Beside this protocol switch, Jolokia provides features for JMX remoting, which are not available for JSR-160 connectors:
- Bulk requests allow for multiple JMX operations with a single remoteserver roundtrip.
- A fine grained security mechanism can restrict the JMX access on specific JMX operations.
- A JSR-160 proxy mode allows for agentless operation.
- Historical values can be tracked on the agent side. This enables incremental checks without the need of a client side storage.
- All MBeanServer are merged to give a single view, so there is no need to know the MBeanServer instance in advance.
- Sophisticated JSON object serialization allows clients to access complex objects which are not Open MBeans.
Multiple agents are provided for different environments:
- WAR Agent for deployment as web application in a JEE Server.
- OSGi Agent for deployment in an OSGi container. This agent is packaged as a bundle and comes in two flavors (minimal, all-in-one).
- Mule Agent for usage within a Mule ESB
- JVM JDK6 Agent which can be used with any Oracle/Sun JVM, Version
Jolokia originates from jmx4perl, which is a solution for connecting non-Java monitoring platforms like Nagios to the JEE world. With jmx4perl comes a sophisticated command line shell, j4psh, with syntax highlighting and context sensitive command line completion on MBean names and attributes/operations (but that is another story ;-)
Jolokia is released under the Apache License, which is currently the most significant difference to the agent part of jmx4perl (which is released under the GPL).