Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address:

Superior app management with JMX

Integrate JMX, a reusable configuration framework, with your JSPs

Let's face it, configuration management of any application server can be a burden, and most projects don't even have enough development cycles to include a configuration framework. Java Management Extensions (JMX) to the rescue: Now you have a reusable framework for exposing your application to remote or local management tools. JMX enables you to query the configuration settings and change them during runtime. It also provides other services, such as monitoring, event notification, a timer, and dynamic class loading from XML files. You can use JMX to load, initialize, change, and monitor your application and its distributed components. You can leverage your knowledge of this framework across third-party or your own custom software, creating a consistent approach to managing your applications.

This article will reveal some of JMX's architecture. The specification is detailed in JSR-000003, and is available for download. You can also download a reference implementation with source code. After exploring JMX internals, we will use a JavaServer Page (JSP) to interface with JMX using JBoss and Tomcat.

JMX revealed

The three JMX layers that are important here are instrumentation, agent, and distributed services.

The instrumentation layer

The instrumentation layer exposes the application as one or more managed beans (MBeans). Each MBean provides access to its state using public methods. An MBean can be any Java object that you modify to support the interfaces and semantics specified in the JMX specification for the type of MBean you create. The MBean types are standard, dynamic, open, and model. A standard MBean provides a static interface. A dynamic MBean exposes its interface to the JMX agent at runtime using metadata. The open MBean is a dynamic MBean that uses predefined Java data types so that dependencies on other classes are reduced, allowing for better runtime discovery and dynamic behavior. The model MBean, as the name implies, is a generic and configurable MBean that is provided with each JMX implementation. You can instantiate and use the model instead of defining your own MBean classes.

1 | 2 | 3 | 4 | 5 | 6 |  Next >
Resources