Jolokia is a JMX-HTTP bridge giving an alternative to JSR-160 connectors. It is an agent based approach with support for many platforms. In addition to basic JMX operations it enhances JMX remoting with unique features like bulk requests and fine grained security policies.
This last feature release before work on 2.0.0 starts brings some small goodies.
Links to the corresponding GitHub issues and the bugs fixed in this release can be found in the change report.
This is the last feature release in the 1.x series. Work has already started on exciting new features for Jolokia 2.0. E.g. JMX notification support is coming, an initial pull model has been already implemented (on branch notification). There are even more ideas and some refactorings will happening along with some modest changes in the module structure. So, please stay tuned ...
It took some time, but it was worth it. Along with the usual bug fix parade, several new features has been added to Jolokia.
A new module jolokia-spring has been added which makes integration of Jolokia in Spring applications even easier. Simply add the following line (along with the corresponding namespace) to you application context and agent will be fired up during startup:
<jolokia:agent>
<jolokia:config
autoStart="true"
host="0.0.0.0"
port="8778"
....
/>
</jolokia:agent>More details can be found here in the reference manual.
The new jolokia-jmx module provides an own MBeanServer which never gets exposed via JSR-160 remoting. By registering your MBeans at the Jolokia MBeanServer you can make them exclusively available for Jolokia without worrying about JSR-160 access e.g. via jconsole. However, if you annotate your MBeans with @JsonMBean and register it at the Jolokia MBeanServer your get automatic translation of complex data types to JSON even for JSR-160 connections:
The details can be found here.
Several new processing options enter the scene. These can be given either as global configuration parameters or as query parameters:
That's it for now, all changes are summarized as always in the change report.
Some other, more organizational stuff for now:
And finally a very hot recommendation: Please have a look at hawt.io a super cool HTML5 console which uses Jolokia for backend communication exclusively. Most of the new ideas included in this Jolokia release were inspired by discussions with James Strachan, one of the driving forces behind hawt. Thanks for that ;-)
Although it has been quite calm in Jolokia land for some months, there is quite some momentum around Jolokia. This minor release brings some cosmetic changes, mostly for tuning the ordering within MBeans names and some JavaScript fixes. More on this in the changelog.
Some other tidbits:
Jolokia 1.0.5 has been released. Beside minor improvements and bug fixes, one great new feature has been introduced: As already mentioned Jolokia has now support for Cubism, a fine time series charting library based on d3.js. Cubism provides support for an innovative charting type, the horizon charts:

A very cool live demo where a Jolokia JavaScript client fetches live data from our servers and plot it with Cubism can be found on this demo page. The documentation can be found in the reference manual.
Jolokia uses also a Travis build in addition to our own CI Server. (Did I mentioned already, that we have a quite I high Sonar score ?). Travis is a quite nice supplement to Github, and brings CI testing to a higher level.
That's it for now. The next months of my open-source work will be spent now on Ají, Jolokia's new fancy sister. Sorry for pushing thinks like notifications down the Jonlokia back-log, but it's not forgotten.
Beside some bug fixes two new features are included in this new release:
Jolokia's Javascript library has now a scheduler for periodically querying the agent. Requests can be registered at the agent and all registered requests are sent at once in a single bulk request periodically. This is especially useful when building up dashboard like web pages with multiple charts.
The folowing example registers two requests which are called every second. The reference documentation has all the details.
var jolokia = new Jolokia("http://localhost:8080/jolokia");
// Register request along with callback printing out
// the heap memory usage
jolokia.register(function(resp) {
console.log("Memory: " + resp.value);
},{
type:"read",
mbean:"java.lang:type=Memory",
attribute:"HeapMemoryUsage",
path:"used"
});
// Start the scheduler for calling the request every second
jolokia.start(1000);The scheduler is used by the new Jolokia-Cubism integration for plotting real time JMX data. Please have a look at the demo page for more information about using Jolokia together with Cubism.
On the agent side detectors now support custom options. The first option available is for the Glassfish detector to prevent booting of the AMX subsystem, which registers the most interesting MBeans. AMX is booted now by default on the first request when running in Glassfish. For more information, please refer to the WAR configuration options in the reference documentation.
Ají moves on, too, although slower than expected. The main focus of the next months will to be bring that Javascript JMX application on and out. Stay tuned ...
This minor release adds cross-origin resource sharing (CORS) support to all Jolokia agents. Cross domain access can be easily restricted with Jolokia's security setup. The Javascript library already support CORS for most browsers out of the box, for IE8 and larger some special setup is still required. Transparent CORS client support for all browsers will be added to the Jolokia Javascript client in one of the next releases.
In addition the following new features were added:
All thdeses changes plus the bug fixes are listed in the change log.
Starting with this release, bug tracking and release planning switches over to Jolokia's JIRA instance, kindly donated by the fine folks from Atlassian.
Also, there has been some (minor) progress with the new kid in the Chili garden, Ají, a Javascript single-page-application with an MBeanBrowser and a Dashboard. I'm still looking for helping hands, there is quite a lot to do here ;-)