- What is java management extensions
- Architecture Outline
- Instrumenting Resources by Using MBeans
- Creating a JMX Agent
- Managing Resources Remotely
- What is java management extensions
- Links to Useful JMX Technology Pages
- JMX Technology News
- What is java management extensions
- What Is JMX Technology?
- Why Use JMX Technology?
What is java management extensions
Java Management Extensions (JMX) technology provides a standard API for the management and monitoring of resources. The API includes remote access, so that a remote management application can manage and monitor applications, systems, and networks.
This chapter outlines JMX architecture in the following sections:
Architecture Outline
JMX technology was developed through the Java Community Process (JCP) as two closely related Java Specification Requests (JSRs):
- JSR 3: Java Management Extensions (JMX) Specification — defines the instrumentation and agent levels
- JSR 160: Java Management Extensions (JMX) Remote API — defines the remote management level
The following table shows the levels in the management architecture.
Level | Description |
---|---|
Instrumentation | Resources, such as applications, devices, or services, are instrumented using Java objects called Managed Beans (MBeans). MBeans expose their management interfaces, composed of attributes and operations, through a JMX agent for remote management and monitoring. |
Agent | The main component of a JMX agent is the MBean server. This is a core managed object server in which MBeans are registered. A JMX agent also includes a set of services for handling MBeans. The JMX agent directly controls resources and makes them available to remote management agents. |
Remote management | Protocol adaptors and standard connectors make a JMX agent accessible from remote management applications outside the agent’s Java Virtual Machine (JVM). |
Instrumenting Resources by Using MBeans
To manage resources by using JMX technology, you must first instrument the resources in the Java programming language. You can use Java objects known as MBeans to implement access to the instrumentation of resources. MBeans must follow the design patterns and interfaces defined in the JMX Specification to ensure that all MBeans provide the instrumentation of managed resources in a standardized way.
After a resource is instrumented by MBeans, it can be managed through a JMX agent. MBeans do not require knowledge of the JMX agent with which they operate.
MBeans are designed to be flexible, simple, and easy to implement. Developers of applications, systems, and networks can make their products manageable in a standard way without investing in complex management systems. Existing resources can be made manageable with minimum effort.
In addition, the instrumentation level of JSR 3: Java Management Extensions (JMX) Specification specifies a notification mechanism that enables MBeans to generate and propagate notification events to components of the other levels.
Creating a JMX Agent
A JMX agent is a standard management agent that directly controls resources and makes them available to remote management applications. A JMX agent is usually located on the same system as the resources that it controls, but this is not a requirement.
The core component of a JMX agent is the MBean server, a managed object server in which MBeans are registered. A JMX agent also includes a set of services to manage MBeans, and at least one communications adaptor or connector to enable access by a management application.
When you implement a JMX agent, you do not need to know the semantics or functions of the resources that the agent will be used to manage. In fact, a JMX agent does not even need to know which resources it will serve, because any resource instrumented in compliance with the JMX Specification can use any JMX agent offering the services that it requires. In addition, the agent does not need to know the functions of the management applications that will access it.
Managing Resources Remotely
JMX API instrumentation can be accessed either through existing management protocols such as the Simple Network Management Protocol (SNMP), or through proprietary protocols. The MBean server relies on protocol adaptors and connectors to make a JMX agent accessible from management applications outside the agent’s JVM.
Each adaptor provides a view through a specific protocol of all MBeans registered in the MBean server. For example, an HTML adaptor could display an MBean in a browser.
Connectors provide a manager-side interface that handles the communication between the manager and the JMX agent. Each connector provides the same remote management interface though a different protocol. When a remote management application uses this interface, it can connect to a JMX agent transparently through the network, regardless of the protocol.
JMX technology provides a standard solution for exporting JMX API instrumentation to remote applications, based on Remote Method Invocation (RMI). The JMX Remote API also defines an optional protocol based directly on TCP sockets, called the JMX Messaging Protocol (JMXMP). An implementation of the JMX Remote API does not have to support this optional protocol. The Java SE platform does not include the optional protocol. See JMX Technology Versions for further information.
The JMX Remote API section of the specification describes how you can advertise and find JMX agents by using existing discovery and lookup infrastructures. For examples, see Java Management Extensions (JMX) Technology Tutorial. The JMX Specification does not define its own discovery and lookup service. The use of existing discovery and lookup services is optional. Alternatively you can encode the addresses of your JMX agents in the form of URLs, and then communicate these URLs to the manager.
What is java management extensions
The JMX technology provides the tools for building distributed, Web-based, modular and dynamic solutions for managing and monitoring devices, applications, and service-driven networks. By design, this standard is suitable for adapting legacy systems, implementing new management and monitoring solutions, and plugging into those of the future.
Java Management Extensions (JMX) Technology
Starting with the J2SE platform 5.0, JMX technology is included in the Java SE platform. Please see the JMX documentation for the J2SE 5.0 and Java SE 6 platforms.
Links to Useful JMX Technology Pages
JMX Technology News
The third early access release of JSR 262, Web Services Connector for JMX Agents is now available for download.
Web Services Connector for JMX Agents (JSR 262): Early Access Draft 2 released.
The second early access release of JSR 262, Web Services Connector for JMX Agents has been released. Furthermore, the interoperability between JSR 262 and Microsoft Windows Remote Management (WinRM) and HP OpenView Operations Agent (HP-OVO) will be demonstrated during the Technical Session JMX Technology: Who’s Doing What? at Java One on Thursday May 10th.
May, 2007
Meet the JMX team at JavaOne 2007 in San Francisco.
Members of the JMX technology team will be staffing the Java SE Performance and Diagnostics pod at the JavaOne Pavilion throughout the JavaOne conference from May 7th to 11th. As well as fielding your questions on the pod, on Wednesday, May 9th, Luis-Miguel Alventosa will be running the hands-on lab on Non-intrusive Monitoring Using JMX Technology and JConsole , and on Thursday May 10th, Jean-François Denise and Eacute;amonn McManus will be presenting the Technical Session JMX Technology: Who’s Doing What? Come and meet the team and find out what’s going on in the world of JMX technology!
March 19th to 21st, 2007
JMX team present at Sun Tech Days Paris.
Representatives from the JMX technology team will be present at the Sun Tech Days event in Paris, at the Espace Grande Arche in La Defense. Come to Sun Tech Days Paris and meet Jean-François Denise, engineering lead for the JMX Web Services Connector ( JSR 262), and Éamonn McManus, JMX specification lead ( JSR 255).
What is java management extensions
If you are already familiar with Java Management Extensions (JMX) technology, see JMX Technology Versions for version information.
JMX technology provides a simple, standard way of managing resources such as applications, devices, and services. Because JMX technology is dynamic, you can use it to monitor and manage resources as they are created, installed and implemented. You can also use JMX technology to monitor and manage the Java Virtual Machine (Java VM).
JMX technology was developed through the Java Community Process (JCP) as two closely related Java Specification Requests (JSRs):
- JSR 3: Java Management Extensions (JMX) Specification
- JSR 160: Java Management Extensions (JMX) Remote API
The JSRs are defined by the API documentation that is generated by the JavaDoc tool, and in the Java Management Extensions (JMX) Specification, version 1.4 (JMX Specification).
As its name indicates, the JMX Remote API adds remote capabilities to the JMX Specification, enabling you to remotely monitor and manage applications, systems, and networks. In this guide, the term JMX technology is used to describe both the JMX Specification and the JMX Remote API.
This chapter introduces JMX technology in the following sections:
What Is JMX Technology?
The JMX Specification defines in the Java programming language an architecture, the design patterns, the APIs, and the services for application and network management and monitoring. The Java Management Extensions (JMX) technology is a standard part of the Java Platform, Standard Edition (Java SE platform).
When using JMX technology, one or more Java objects known as Managed Beans (MBeans) will instrument a specified resource. These MBeans are registered in a core managed object server, known as an MBean server. The MBean server acts as a management agent and can run on most devices enabled for the Java programming language.
The specification defines JMX agents you can use to manage resources that are instrumented in compliance with the specification. A JMX agent consists of an MBean server, in which MBeans are registered, and a set of services for handling MBeans. JMX agents directly control resources and make them available to remote management applications.
The way in which resources are instrumented is completely independent from the management infrastructure. Resources can therefore be rendered manageable regardless of how their management applications are implemented.
JMX technology defines standard connectors (JMX connectors) that enable you to access JMX agents from remote management applications. JMX connectors use different protocols to provide the same management interface. A management application can manage resources transparently, regardless of the communication protocol that is used. JMX agents can be used by systems and applications that are not compliant with the JMX Specification but which support JMX agents.
Why Use JMX Technology?
JMX technology provides Java developers with a flexible means to instrument Java code, create smart Java agents, implement distributed management middleware and managers, and smoothly integrate these solutions into existing management and monitoring systems.
- JMX technology enables management of Java applications without heavy investment : A JMX technology agent can run on most Java technology-enabled devices, thus Java applications can become manageable with little impact on their design. A Java application needs to embed a managed object server and make some of its functionality available as one or several managed beans (MBeans) registered in the object server; that is all it takes to benefit from the management infrastructure.
- JMX technology provides a standard way to manage Java technology-based applications, systems, and networks : For example, the Java Platform, Enterprise Edition (Java EE) 5 Application Server conforms to the JMX architecture and consequently can be managed using JMX technology.
- JMX technology can be used for out-of-the-box management of the JVM : The JVM is highly instrumented using JMX technology. You can start a JMX agent to access the built-in JVM instrumentation, and to monitor and manage the JVM remotely.
- JMX technology provides a scalable, dynamic, management architecture : Each JMX agent service is an independent module that can be plugged in to the management agent. This component-based approach means that JMX solutions can scale from small-footprint devices to large telecommunications switches and beyond. The JMX Specification provides a set of core agent services. Additional services can be developed and dynamically loaded, unloaded, or updated in the management infrastructure.
- JMX technology takes advantage of existing standard Java technologies : When needed, the JMX Specification references existing Java specifications, for example, the Java Naming and Directory Interface (JNDI).
- JMX technology integrates with existing management solutions and emerging technologies : For example, JMX agents can be managed through an HTML browser. The JMX APIs provide open interfaces that any management system vendor can use.