在 spring 应用程序中禁用 JMX

Disabling JMX in a spring application

我正在尝试禁用 jmx,这样我就不会得到:

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'mbeanExporter'anymore. 

我找到了一个部分答案,说我应该将其包含在 application.properties 文件中:

所以我用那一行创建了文件。但是我如何确保 Spring 准确地读取它呢?我需要编辑 spring.xml 中的内容吗?如果有,在哪里?

您正在使用 spring 引导吗?如果是这样,您只需要默认将文件放在 src\main\resources\application.properties

您可以在此处查看示例项目https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples

您需要在 application.properties 文件中禁用该设置(如果未设置,它会自动打开)。编辑或创建此文件: src/main/resources/config/application.properties

这是一个 maven 项目,所以如果不是在 maven 中,只需将 'resources' 放在与 java 文件夹相同的级别。

您只需要文件中的这一行(否则可以为空):

spring.jmx.enabled=false

如果您想添加其他设置,这里是所有选项: http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

您可以尝试禁用 jmx 自动配置:

@EnableAutoConfiguration(exclude={JmxAutoConfiguration.class})

就我而言,它是 IntelliJ。

IntelliJ 在 运行 配置中有一个设置 "Enable JMX agent"。应取消选中此选项以禁用 JMX。

如果选中,这将覆盖您通过 properties/yml 在应用程序中所做的任何设置。