将 Java Mission Control 连接到 Wildfly 16

MyW*_*Way 4 java wildfly jmc

我尝试将 Java Mission Control (JMC) 与Wildfly 16连接起来。应用程序服务器位于 Docker 上。

我通过 jconsole 成功连接到 wildfly,为了管理它,我按照此处描述的步骤进行了管理。

不幸的是,我没有运气通过 JMC 连接。我使用的 URL 如下所示:

服务:jmx:remoting-jmx://192.168.99.100:9990

  • 我试图将 Xbootclasspath 设置为 jboss-cli-client.jar,因为它在这里描述,但我只是得到Unable to connect错误。
  • 我设置了用于 jconsole 的相同罐子,但我仍然得到Unable to connect.
  • 我给一个尝试在容器现场加标志,因为它显示出在这里,但这些标志,甚至wildfly还没有开始。

然后,我在这里找到了硬编码一些 jboss 类以通过 remoting-jmx 启用连接的想法。我根据wildfly16提供的这些更改了jars的版本,并像这样将其放入jmc.ini。

-Xbootclasspath/a:"C:/Program Files/Java/jdk-10.0.2/lib/missioncontrol/dropins/jboss-cli-client.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/remoting-jmx/main/remoting-jmx-3.0.1.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/remoting/main/jboss-remoting-5.0.8.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.3.2.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/xnio/main/xnio-api-3.6.5.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/xnio/nio/main/xnio-nio-3.6.5.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/marshalling/main/jboss-marshalling-2.0.6.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/marshalling/river/main/jboss-marshalling-river-2.0.6.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/as/cli/main/wildfly-cli-8.0.0.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/staxmapper/main/staxmapper-1.3.0.Final;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/as/protocol/main/wildfly-protocol-8.0.0.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/dmr/main/jboss-dmr-1.5.0.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/as/controller-client/main/wildfly-controller-client-8.0.0.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/threads/main/jboss-threads-2.3.3.Final.jar;C:/wildfly-16.0.0.Final/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.1.7.Final.jar"
Run Code Online (Sandbox Code Playgroud)

在那之后,最后,我有另一个错误,那就是

无法初始化类 org.jboss.remotingjmx.RemotingConnector

我添加了remoting-jmx-3.0.1.Final对 Xbootclasspath 的依赖项,但仍然出现相同的错误。

我的问题是,您知道如何使这种连接有效吗?也许有人以不同的方式做到了?

任何建议我如何调试这个问题,将是无价的?因为我缺乏如何解决它的想法。

小智 5

  1. 在 %WILDFLY_HOME%\bin\standalone.conf.bat 中:

    设置“JAVA_OPTS=%JAVA_OPTS% -XX:+FlightRecorder”

  2. 在 jmc.ini 下面 -vmargs put

    -Xbootclasspath/a:C:\%wildfly_home%\bin\client\jboss-cli-client.jar

(%wildfly_home% 当然不同,或者只是将 jboss-cli-client.jar 复制到另一个目录并更正路径) 3. 运行 JMC,然后创建新连接 - 在连接属性窗格中按下按钮“自定义 JMX 服务 URL” , 放:

service:jmx:http-remoting-jmx://localhost:9990    
Run Code Online (Sandbox Code Playgroud)

在凭据字段中只输入用户和密码,它们应该为领域管理创建(例如使用 %wildfly_home%\bin\add-user.bat) 希望这对某人有所帮助。