Skip to main content

Eamonn McManus

Eamonn McManus is the technical lead of the JavaFX Authoring Tool team at Oracle Corporation. Before that, he was the tech lead of the JMX team, and headed the technical work on JSR 255 (JMX API 2.0) and JSR 262 (Web Services Connector for JMX Agents). In a previous life, he worked at the Open Software Foundation's Research Institute on the Mach microkernel and countless other things, including a TCP/IP stack written in Java. In an even previouser life, he worked on modem firmware in Z80 assembler. He is Irish, but lives and works in France and in French. His first name is pronounced Aymun (more or less) and is correctly written with an acute accent on the first letter, which however he long ago despaired of getting intact through computer systems.


emcmanus's blog

JMX technology and NetBeans

Posted by emcmanus on November 8, 2005 at 10:32 AM PST

There's a plugin for NetBeans that supports the JMX API. It allows you to create and modify JMX MBeans through a wizard, to create unit tests for them, and to run an application and simultaneously attach to its JMX instrumentation.

Excellent article by Ron Bodkin about using AspectJ and JMX technologies for monitoring

Posted by emcmanus on November 5, 2005 at 5:53 AM PST

Ron Bodkin has written an excellent, detailed

about using the
project. This combines AspectJ and JMX
technologies to add monitoring to applications in a clean and
modular way.

Adding Descriptors to MBeans in Mustang

Posted by emcmanus on October 22, 2005 at 9:41 AM PDT

Descriptors allow you to give additional information about
MBeans to management clients. For example, a Descriptor on an
MBean attribute might say what units it is measured in, or what
its minimum and maximum possible values are. As of Mustang
(Java SE 6), Descriptors are a basic part of the JMX API and are
available in all types of MBeans.

Mustang JDK now includes attach-on-demand

Posted by emcmanus on September 29, 2005 at 9:32 AM PDT

The Tiger JDK introduced a nifty feature whereby you could run an application with and then later connect to it using the jconsole tool. That allows you to see the JVM's instrumentation (memory, classes, threads) plus any JMX instrumentation you've defined yourself.

Why aren't MXBeans OpenMBeans?

Posted by emcmanus on September 16, 2005 at 7:08 AM PDT

In a
on my last entry, rgreig asks:

One thing that struck me about MXBeans is that they are
really fusion of standard MBeans and OpenMBeans, since they only
use standard types. However they don't actually conform to
OpenMBean conventions.

Optimizing the internals of the MBean Server

Posted by emcmanus on September 14, 2005 at 1:12 PM PDT

Summer is of course the time when people take their vacation,
and nowhere more so than here in France.

Compiling the JMX API in Mustang

Posted by emcmanus on August 30, 2005 at 9:10 AM PDT

The Java SE sources are downloadable from, and you can
change and extend them within the constraints of the relevant
licenses. But building the whole of Java SE is a major
undertaking. Here's how to build just the JMX API. The same
ideas would apply to building other subsets of Java SE that are

Good advice for coding listeners

Posted by emcmanus on July 29, 2005 at 4:01 AM PDT

The consistently excellent Brian Goetz has written a new article in his Java Theory and Practice series entitled "Be a good (event) listener". Since listeners are an important part of the JMX API, here's how his advice applies there.

Adding information to a Standard MBean interface using annotations

Posted by emcmanus on July 25, 2005 at 9:52 AM PDT

With a Standard MBean, you define the management interface of
the MBean using a Java interface. Getters and setters in the
interface define attributes, and other methods define operations.
But the only information extracted out of the interface is the
names and types of the attributes and operations, and just the
types of the operation parameters.

WeakReferences and Dynamic Proxies

Posted by emcmanus on July 21, 2005 at 6:45 AM PDT

I talked about how you can use

to allow a resource to be
garbage collected even if it is referenced by another object,
a JMX MBean in the case in question.