MBean 的名称通常是从端点的 id
生成的。例如,health
端点公开为 org.springframework.boot:type=Endpoint,name=Health
。
如果你的应用程序包含多个 Spring ApplicationContext
,可能会发生名称冲突。要解决此问题,可以将 spring.jmx.unique-names
属性设置为 ,以保证 MBean 名称始终唯一。
你还可以自定义暴露端点的 JMX 域。以下设置展示了在 application.properties
中执行此操作的示例:
如果你不想通过 JMX 暴露端点,可以将 management.endpoints.jmx.exposure.exclude
属性设置为 *
,如下所示:
Jolokia 是一个 JMX-HTTP 桥,它提供了一种访问 JMX bean 的新方式。要使用 Jolokia,请引入依赖:org.jolokia:jolokia-core
。例如,使用 Maven,你将添加以下依赖:
之后可以通过将 jolokia
或 添加到 management.endpoints.web.exposure.include
属性来暴露 Jolokia 端点。最后,你可以在 management HTTP 服务器上使用 /actuator/jolokia
访问它。
55.3.1、自定义 Jolokia
Jolokia 有许多设置,你可以通过设置 servlet 参数来使用传统方式进行配置。使用 Spring Boot 时,你可以使用 application.properties
文件配置。请在参数前加上 management.endpoint.jolokia.config
。如下所示:
55.3.2、禁用 Jolokia
如果你使用 Jolokia 但不希望 Spring Boot 配置它,请将 management.endpoint.jolokia.enabled
属性设置为 ,如下所示: