Java Management Extensions (JMX) provide a standard mechanism to monitor and manage applications.
By default, Spring Boot exposes management endpoints as JMX MBeans under the
The name of the MBean is usually generated from the
id of the endpoint.
For example, the
health endpoint is exposed as
If your application contains more than one Spring
ApplicationContext, you may find that names clash.
To solve this problem, you can set the
spring.jmx.unique-names property to
true so that MBean names are always unique.
You can also customize the JMX domain under which endpoints are exposed.
The following settings show an example of doing so in
If you do not want to expose endpoints over JMX, you can set the
management.endpoints.jmx.exposure.exclude property to
*, as shown in the following example:
Jolokia is a JMX-HTTP bridge that provides an alternative method of accessing JMX beans.
To use Jolokia, include a dependency to
For example, with Maven, you would add the following dependency:
<dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-core</artifactId> </dependency>
The Jolokia endpoint can then be exposed by adding
* to the
You can then access it by using
/actuator/jolokia on your management HTTP server.
Jolokia has a number of settings that you would traditionally configure by setting servlet parameters.
With Spring Boot, you can use your
To do so, prefix the parameter with
management.endpoint.jolokia.config., as shown in the following example: