spring.jmx.enabled 的确切目的是什么?

What is the exact purpose for spring.jmx.enabled?

对于Spring Boot (v2.4.2),在Monitoring and Management over JMX部分表示:

Java Management Extensions (JMX) provide a standard mechanism to monitor and manage applications. 
By default, this feature is not enabled and can be turned on by setting the configuration property 
spring.jmx.enabled to true. Spring Boot exposes management endpoints as JMX MBeans under
the org.springframework.boot domain by default.

因此spring.jmx.enabled默认为false

我不明白这种行为,因为对于基于 Web 的快速 SB 应用程序,带有开发工具和执行器,甚至当声明为 spring.jmx.enabledfalse在没有 Dev ToolsActuator 依赖项的情况下,我总是可以看到 org.springframework.boot 域,如下所示:

观察: 我使用和不使用 Dev Tools 和 Actuator,因为我假设它们中的任何一个都在内部覆盖 spring.jmx.enabledtrue,但正如我在最新场景中确认的那样,这不是真的

那么当 spring.jmx.enabledfalsetrue 时,观察到的明显区别应该是什么?在上面分享的场景中总是出现 org.springframework.boot 域,我能够访问上面显示的所有场景的管理方法。我认为 spring.jmx.enabled 和 false 应该 而不是 从一开始就公开 org.springframework.boot 域。

当您在 STS 中启动应用程序时,它会将 spring.application.admin.enabled 属性 设置为 true。这会启用 org.springframework.boot 域中的 MBean,STS 使用该域管理应用程序并使用从通过 JMX 公开的执行器端点检索的信息提供对其功能的洞察。