Good, but a bit dated at this point.
If you're looking for an introduction to JMX, this book gives good coverage of the concepts and techniques behind instrumenting your applications. However, if you're looking for information on the latest and greatest in JMX, especially anything related to JMX remoting, then you should look somewhere else. This book was written in 2002, before J2SE 5.0, and a lot has happened to JMX since then. Starting with J2SE 5.0, JMX is a core part of the Java standard library and the JDK ships with a highly usable remote management application called jconsole.
avoid - it's now obsolete
It has been 4 years since this book came out. Despite the many high hopes in the computer industry in 2002, JMX has run out of conceptual steam. You can't tell that from the text. But since then, Service Oriented Architecture and Web Services have garnered far more mindshare.
The text also does not indicate that JMX simply proved too hard in practice, as a useful management tool or console. If you read the book and try its recommendations, you are walking into a dead end. There will be very little interest by others in what you program.
Java Management Extensions
JMX is a Java framework for managing enterprise applications in a distributed environment. The book Java Management Extensions takes the reader from a high-level mountaintop description of what JMX is in the first chapter, aimed at architects and management, who might be investigating the new technology, to a trench-digging description of how to expose a class for management through instrumenting an MBean.Perry's initial description of the JMX architecture in the first chapter does a good job describing the parts of the JMX and how they interoperate. It is a very high-level view of JMX and many abstract ideas are presented. On a personal level, my experience with the JBoss application server gave me a concrete example to refer to during this JMX introduction, which helped. Here, the reader is presented with many UML diagrams to illustrate the architecture.
The next four chapters cover the nuts and bolts of how to construct JMX services. To use the JMX framework, a developer must become familiar with an object called an MBean. In a nutshell, MBeans are Java classes that implement an MBean interface (A process known as instrumenting), allowing the MBeans to be loaded into an MBean server and managed. In these chapters, Perry talks about four types of Mbeans, Standard, Dynamic, Model, and Open MBeans. After introducing each type of MBean, Perry gives simple code examples of how to build each type of MBean.
Chapter 6 deals primarily with introducing the reader to the MBean server. Perry uses the reference implementation from Sun for the examples in his book. Real world MBean servers include names such as JBoss and WebLogic. The most exciting part of the book, I felt were chapters 7 and 9, where Perry talks about the JMX notification model and Monitoring classes. Firing events, filtering notifications, and creating monitors appear to be the real advantages to the JMX framework and are covered thoroughly in these chapters.
Perry's no-nonsense writing style provides a succinct description of the architecture. At 312 pages, the book is the thinnest technical book on my bookshelf, making the read easier to manage.
In summary, Java Management Extensions is a good book for developers who want to gain an understanding of what JMX is. Programmers new to JMX will probably find the first part of the book a good introduction to JMX and its architecture, while the last chapters focus more on how to put the framework to good use. Although Perry does not have a style of writing that entertained me, it was clear and to the point. He does cover his information thoroughly and appears to know the content well. JMX is a technology that I feel will be used heavily in the future, and for anyone who is intending to write a J2EE application that needs management or monitoring, JMX appears to be the answer.
Good coverage of JMX basics but not much on practicle usage
This book covers the fundamentals of JMX but where I was disappointed was that it uses a pretty basic queue example and doesn't really get into J2EE applications and praticle uses. I was left wondering when to use it. If I had it to do over I'd choose another book with more praticle applications for JMX.
An exceptionally useful and straightforward manual
Java Management Extensions by Java expert J. Steven Perry is a superbly organized and written reference and instructional resource to managing Java applications with JMX. Individual chapters address standard, dynamic, model, and open MBeans, dynamic loading, the monitoring class and timer service, and much more. A practical study of JMX architecture as well as a thoroughly "user friendly" how-to guide for technical managers, Java Management Extensions is an exceptionally useful and straightforward manual.