JMX: Difference between revisions
Line 69: | Line 69: | ||
The standard implementation required by the specification involves RMI (Remote Method Invocation). For an implementation to be spec-compliant, must expose an RMI-based remoting implementation. Optional protocols can be supported. | The standard implementation required by the specification involves RMI (Remote Method Invocation). For an implementation to be spec-compliant, must expose an RMI-based remoting implementation. Optional protocols can be supported. | ||
The JMX session does not have state on the server, each request is independent from the previous one. | |||
The client obtains an object that implements MBeanServerConnection interface. | |||
Revision as of 02:26, 17 June 2017
External
- https://docs.oracle.com/javase/8/docs/technotes/guides/jmx
- JMX API https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/spec.html
- http://docs.oracle.com/javase/8/docs/technotes/guides/management/mxbeans.html
Internal
Overview
Subjects
Specifications
Concepts
MXBean
An MXBean is a kind of MBean. For more details see
Open Type
The Platform MBean Server
The platform MBean server is an MBean server that is built into the JVM. It can be accessed and shared by all managed components that are running in that JVM. It can be retrieved with java.lang.management.ManagementFactory.getPlatformMBeanServer(). The platform MBean server was introduced in Java 5. javax.management.MBeanServerFactory can be used to create a different MBean server, or look up an already existing MBean server (that is not the platform server).
For a code example of how to look up the platform MBean server and how to register an arbitrary MBean to it, see
Platform MXBeans
A platform managed object is an JMX MXBean deployed on a JVM's platform MBean server. Platform MXBeans expose monitoring and management capabilities for components of the Java platform. Platform MXBeans only use a set of basic data types, so a JMX management application and the platform MBeanServer can interoperate without requiring classes for MXBean specific data types. The data types being transmitted between the management client and the JMX server are open types and this allows interoperation across versions.
Common platform MXBeans:
Thread Monitoring and Management
Memory Monitoring and Management
O/S Level Runtime Metrics
Classloading Metrics
Other Monitoring and Management Components
Remote Access to a JMX Server
The JMX specification includes built-in support for accessing JMX servers remotely. Remote access details are described in the Section III of the specifications "JMX Remote API Specification".
An application that wishes to access a remote JMX server must create a session. The session allows for multiple, successive connections. The underlying mechanism that insures the client/server communication over the network is called a connector. A connector consists of a connector client and a connector server. The connector server is attached to the MBean server and listens for connection requests from clients. The connector client exposes essentially the same interface as the MBean server serviced by the connector. The connector client usually lives in a different JVM from the connector server, on a remote host. The connector client is connected to exactly one server.
The standard implementation required by the specification involves RMI (Remote Method Invocation). For an implementation to be spec-compliant, must expose an RMI-based remoting implementation. Optional protocols can be supported.
The JMX session does not have state on the server, each request is independent from the previous one.
The client obtains an object that implements MBeanServerConnection interface.
- Describe the specification basis.
- Describe practical ways.
- Mention novaordis-jmx.