<< Contract architects | Home | Free QCon London pass >>
Twitter RSS feed for Simon Brown [Twitter] simonbrown: Eating cream cakes in the sun at jersey zoo ... chillin'

Coding the Architecture RSS feed for Simon Brown [Coding the Architecture] Just a short note to plug a handful of sessions that Kevin and I are presenting at the upcoming Software Architect 2008 conference, 3rd-5th June, London. 1. Coding the Architecture : From Developer to Architect The first is a re-run of our ...

What can JMX do for you?

Become infected and enjoy instrumenting your code

As I've previously mentioned, I'm presenting an in-depth tutorial on JMX entitled What can JMX do for you?...

JMX (the Java Management Extensions) is one of the lesser known jewels in the Java SE crown, and few people understand what this simple but powerful API can do for them. This tutorial presents an in-depth look at JMX and how it fits into the development of enterprise Java applications. We will be covering the following topics.

  • Getting started with JMX and implementing your own MBeans.
  • Using a bespoke container architecture to control application components with JMX at runtime.
  • Using JMX to centralise access to core services (e.g. logging, configuration) in enterprise applications.
  • Taking advantage of JMX notifications for real-time status updates.
  • Options for starting, customizing and remotely exposing an MBeanServer instance.
  • Integrating JMX functionality into your Spring application.
  • Accessing MBeans from your application code.
  • Extending JConsole functionality with the Java 6 JConsole API.
  • Building your own web-based JMX dashboard to aggregate management information across multiple JVMs.

If you have not yet looked at what JMX can do for you, come along and find out.

JMX has been around for years now but, based upon my own experience of consulting on and building enterprise applications, it's not a technology that readily springs to mind when new projects are started. I think JMX has a reputation for either being (a) something that's a little dull, (b) something that's only relevant to application server vendors or (c) one of those "nice to haves" that gets the chop once budgets and deadlines enter the picture.

For me, JMX is like automated unit testing with something like JUnit - it seems like a really good idea but you can't just quite get around to using it. Once you have used it though, you become infected.

JMX is cool. Once you become infected and start to think about the other ways in which your applications can be monitored and managed you'll think it's cool too.

p.s. don't forget to enter the draw to win a free pass to QCon!

Tags :


JMX Needs An Elevator Pitch

I clicked on a link to this article hoping to see a simple 1-2 paragraph description of what JMX actually is, and maybe a list of 3-4 really useful things that can be done with it.

As it is, this article promises that then starts talking about MBeans. I don't know what MBeans are and nor does anyone else who has never looked at JMX (I'm presuming this is the target audience), so I gave up reading.

I suspect JMX might be really useful, but to be honest because every tutorial takes this approach I don't think I'll ever bother to use it, I don't have the time to dig through pages of APIs to find out why I should be interested in it.

JMX Needs An Elevator Pitch

I agree, which is why my tutorial is focussed less on the actual APIs and more on real-world usage. Besides, there's some stuff in the JMX specification that I suspect is very rarely used in practice and I don't really see the point in presenting it.

Depending on the feedback, I might be persuaded to put an article together. :-)

JMX Needs An Elevator Pitch

Simon: Nice article! Thanks for JMX!
Anonymous: For a short introduction to what JMX does and what JMX is you may want to read:
What is JMX? on my blog.

Re: What can JMX do for you?

Hey, Simon,

I too have gotten extremely interested in JMX, but here's a huge obstacle that I have encountered. In my world (I think a lot of other people's world) most of my existing applications are still on JDK 1.4 and for some projects/apps even 1.3. It would be really really nice to have a strategy laid out on how to add JMX power to the older JDKs. 1.5 and greater are great because they come bundled with the api and the console tool, which is a huge benefit. But even if you do get the api you need for the 1.4 stuff, you still have the problem of getting the console tool to actually use the stuff.  So, people are less likely to be "infected" until they either upgrade or someone maps out a clear and easy strategy for retro-fitting the JMX api into the older JDK.

Just my perspective. :)

Re: What can JMX do for you?

That's a very good point - let me see what I can do. Thanks for the suggestion. :-)

Re: What can JMX do for you?

Correct me if I'm wrong, but as far as I can see, this entry is a teaser for QCon and the article itself is going to be presented and discussed there but not in this BLOG?

Re: What can JMX do for you?

No - you're correct.

Re: What can JMX do for you?

Wish I could make it to London then! :(

But to be on topic, JMX is cool and very much misunderstood, probably mostly because when people come to need it, they have already developed some solutions of their own to the problems they have that require JMX in the first place.

Clearly, Education is the answer, and the sooner the better.

Re: What can JMX do for you?

Depending on the feedback, I might be persuaded to put an article together. :-)

I realize that this feedback is more than a little late, but I'd love to see you put an article together. My budget doesn't afford the opportunity to travel across the pond to QCon, so an article would be appreciated. I'm in the process of developing a Java SE 6 server-side app that will potentially be deployed to tens or hundreds of customer sites, and I'd like to remove much of the pain from managing the app.

Re: What can JMX do for you?

I support the call to publish an article...

After all, its a lot easier to help people use and adopt a technology in their project based on a series of articles and online discussion rather than a presentation you can't attend.

-- Doron


Add a comment Send a TrackBack