我正在尝试禁用 jmx,这样我就不会得到:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'mbeanExporter'anymore.
我找到了部分答案,说我应该将其包含在
application.properties
文件中:
spring.datasource.jmx-enabled=false
所以我用这一行创建了文件。但我如何确保 Spring 真正读取它呢?我需要在 spring.xml 中编辑一些内容吗?如果有的话,在哪里?
您需要禁用 application.properties 文件中的设置(如果未设置,它会自动打开)。编辑或创建此文件: src/main/resources/config/application.properties
这是一个 Maven 项目,所以如果不在 Maven 中,只需将“资源”放在与 java 文件夹相同的级别即可。
您只需要文件中的这一行(否则可以为空):
spring.jmx.enabled=false
如果您想添加其他设置,以下是所有选项: http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
就我而言,它是 IntelliJ。
IntelliJ 在运行配置中有一个设置“启用 JMX 代理”。应取消选中此选项以禁用 JMX。
如果选中,这将覆盖您通过properties/yml在应用程序中所做的任何设置。
你使用的是 Spring Boot 吗?如果是这样,你只需要把文件放在 src\main 中 默认情况下 esources application.properties
您可以在此处查看示例项目https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples
您可以尝试禁用 jmx 自动配置:
@EnableAutoConfiguration(exclude={JmxAutoConfiguration.class})
我的 intellij 没有启用 jmx 代理选项,但它确实有禁用 jmx 端点。是一样的吗?