未发现springboot2的嵌入式tomcat的JMX mbeans

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

我们已经将系统升级到springboot2(springboot-2.2.2 + springCloud-Hoxton.RELEASE),发现没有与Tomcat相关的JMX mbean。以下是通过jvisualvm连接到本地应用程序时得到的内容:

springboot2-v2.2.2

springboot2-v2.2.2+jmx-enabled

[我也实现了springboot2(v2.1.1)演示,没关系,tomcat的JMX mbeans运作良好。奇怪的是有2个tomcat。

springboot-v2.1.1

springboot-v1.5.3

由于我已经实现了一个端点来监视tomcat的线程池,它完全依赖于tomcat的JMX,现在它不再起作用了。请帮助,有什么方法可以通过springboot-v2.2.2启用tomcat的JMX吗?

spring-boot jmx
1个回答
0
投票

要在springboot 2.2中启用Tomcat JMX,必须配置以下tomcat定制器:

@Bean
public WebServerFactoryCustomizer<TomcatServletWebServerFactory> activateTomcatMBeanServer() {

    return (factory) -> {
        factory.setDisableMBeanRegistry(false);
    };
}

[SpringBoot Issue 16498和版本2.2.0.M4中已引入。 Spring Boot利用Tomcat 9.0.20的一项新功能,该功能允许禁用Tomcat的MBeanServer(org.apache.tomcat.util.modeler.Registry。disableRegistry()-当存在Graal时,Tomcat也使用此开关)。相应的Tomcat问题是Tomcat Issue 63361

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