在 Spring 应用程序中禁用 JMX

问题描述 投票:0回答:5

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

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

我找到了部分答案,说我应该将其包含在

application.properties
文件中:

  • spring.datasource.jmx-enabled=false

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

java spring jmx
5个回答
41
投票

您需要禁用 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


25
投票

就我而言,它是 IntelliJ。

IntelliJ 在运行配置中有一个设置“启用 JMX 代理”。应取消选中此选项以禁用 JMX。

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


2
投票

你使用的是 Spring Boot 吗?如果是这样,你只需要把文件放在 src\main 中 默认情况下 esources application.properties

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


1
投票

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

@EnableAutoConfiguration(exclude={JmxAutoConfiguration.class})

-1
投票

我的 intellij 没有启用 jmx 代理选项,但它确实有禁用 jmx 端点。是一样的吗?

© www.soinside.com 2019 - 2024. All rights reserved.