gpt4 book ai didi

spring-boot - 没有发现 spring boot 2 嵌入式 tomcat 的 JMX mbean

转载 作者:行者123 更新时间:2023-12-05 08:51:35 25 4
gpt4 key购买 nike

我们已经将系统升级到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 mbean 运行良好。奇怪的是有2个tomcat。

springboot-v2.1.1

springboot-v1.5.3

因为我实现了一个Endpoint来监控tomcat的线程池,完全依赖于tomcat的JMX,现在已经不行了。求助,请问有什么办法可以用springboot-v2.2.2开启tomcat的JMX吗?

最佳答案

要在 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() - Tomcat 在 Graal 存在时也使用此开关)。对应的Tomcat问题是Tomcat Issue 63361 .

关于spring-boot - 没有发现 spring boot 2 嵌入式 tomcat 的 JMX mbean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59449697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com