This is a practical guide to using the JMX APIs, Sun Microsystem's Java-based tool for managing enterprise applications. It is a complete treatment of the JMX architecture (both the instrumentation level and the agent level), and features real-world examples for implementing Management Extensions. It also contains useful information at the higher level about JMX (the "big picture") to help technical managers and architects who are evaluating various application management approaches and are considering JMX.
Steve Perry has been a software developer for over 10 years. During that time, he's been a maintenance programmer, a system analyst and is now an architect. This has given him the opportunity to see first hand how critical the need is for application management, and the dire consequences that can result when it's absent. He currently works in the Emerging Systems Architecture group at ALLTEL Information Services, in Little Rock, Arkansas.
Preface 1. Java Management Extensions Concepts Introducing JMX JMX Architecture The Sample Producer/Consumer Application 2. Standard MBeans What Is a Management Interface? How Do Standard MBeans Work? Downloading and Installing the JMX Reference Implementation 3. Dynamic MBeans Why Use Dynamic MBeans? How Do Dynamic MBeans Work? Dynamic MBean Inheritance Patterns 4. Model MBeans Why Use Model MBeans? How Do Model MBeans Work? Instrumenting Resources as Model MBeans 5. Open MBeans Open MBean Types Open MBean Metadata Classes 6. The MBean Server What Is the MBean Server? Obtaining a Reference to the MBean Server The MBeanServer Interface Controlling MBean Registration MBeanServerDelegate 7. JMX Notifications The JMX Notification Model JMX Notification Classes and Interfaces 8. Dynamic Loading Overview How Does Dynamic Loading Work? 9. The Monitoring Services The MonitorNotification Class Counter Monitors Gauge Monitors String Monitors Other Issues 10. The Timer Service The Timer Class Using the Timer Service 11. The Relation Service Introduction The Basic Relation Service Classes Using the Relation Service Using the Relation Service Support Classes Modifying a Role Index