首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有发现Sprringboot2的嵌入tomcat的JMX mbeans

没有发现Sprringboot2的嵌入tomcat的JMX mbeans
EN

Stack Overflow用户
提问于 2019-12-23 10:53:25
回答 3查看 457关注 0票数 2

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

springboot2-v2.2.2

springboot2-v2.2.2+jmx-enabled

我还实现了一个springboot2(v2.1.1)演示,它还不错,tomcat的JMX mbeans运行得很好。奇怪的是有两只tomcat。

springboot-v2.1.1

springboot-v1.5.3

因为我已经实现了一个端点来监控tomcat的线程池,它完全依赖于tomcat的JMX,现在它不再工作了。请帮帮忙,有没有办法用springboot-v2.2.2来启用tomcat的JMX?

EN

回答 3

Stack Overflow用户

发布于 2020-01-15 03:31:00

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

代码语言:javascript
运行
复制
@Bean
public WebServerFactoryCustomizer<TomcatServletWebServerFactory> activateTomcatMBeanServer() {

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

这是在SpringBoot Issue 16498和版本2.2.0.M4中引入的。Spring Boot利用Tomcat9.0.20的一个新特性,该特性允许禁用Tomcat的MBeanServer (org.apache.tomcat.util.modeler.Registry。disableRegistry() -当Graal存在时,Tomcat也使用此开关)。对应的Tomcat问题是Tomcat Issue 63361

票数 4
EN

Stack Overflow用户

发布于 2020-11-27 17:35:06

现在,您可以简单地使用

代码语言:javascript
运行
复制
server:
  tomcat:
    mbeanregistry:
      enabled: true

因此,作为一种更好的弹性启动方式

票数 4
EN

Stack Overflow用户

发布于 2021-08-17 08:59:25

您可以使用以下vm参数来解决Mbean未出现问题。

代码语言:javascript
运行
复制
-Dspring.jmx.enabled=true
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59449697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档