Java Spring Boot@ManagedResource组件在Docker中启动时在VisualVM中不可见,但在本地工作

Java Spring Boot@ManagedResource组件在Docker中启动时在VisualVM中不可见,但在本地工作,java,docker,jmx,spring-jmx,Java,Docker,Jmx,Spring Jmx,这个问题很容易重现。我有一个弹簧组件: @组成部分 @管理资源 公共类EncryptionUtil{ ... @管理操作 公共字符串加密字符串普通{ ... } @管理操作 公共字符串解密字符串加密{ ... } } 当我使用IDE在本地启动应用程序并通过JMX连接时,我可以看到并管理bean: 但是,当我在本地容器中启动应用程序时,我看不到bean。此外,我也没有看到任何与Spring相关的管理设施: 以下是在以下位置启动JAR文件时传递到Dockerfile入口点的JMX选项: JMX_O

这个问题很容易重现。我有一个弹簧组件:

@组成部分 @管理资源 公共类EncryptionUtil{ ... @管理操作 公共字符串加密字符串普通{ ... } @管理操作 公共字符串解密字符串加密{ ... } } 当我使用IDE在本地启动应用程序并通过JMX连接时,我可以看到并管理bean:

但是,当我在本地容器中启动应用程序时,我看不到bean。此外,我也没有看到任何与Spring相关的管理设施:

以下是在以下位置启动JAR文件时传递到Dockerfile入口点的JMX选项:

JMX_OPTS=-Dcom.sun.management.jmxremote=true\ -Dcom.sun.management.jmxremote.local.only=false\ -Dcom.sun.management.jmxremote.authenticate=false\ -Dcom.sun.management.jmxremote.ssl=false\ -Djava.rmi.server.hostname=$DOCKER\u HOST\u IP\ -端口=$port\ -Dcom.sun.management.jmxremote.port=9090\ -Dcom.sun.management.jmxremote.rmi.port=9090 本地启动时DOCKER_HOST_IP=127.0.0.1

所以问题是,MBean在容器中根本无法识别

有什么想法吗,伙计们?
感谢

我发现解决方案非常简单:在JMX中添加以下属性:

-Dspring.jmx.enabled=true

细节