我尝试将 Java Mission Control (JMC) 与Wildfly 16连接起来。应用程序服务器位于 Docker 上。
我通过 jconsole 成功连接到 wildfly,为了管理它,我按照此处描述的步骤进行了管理。
不幸的是,我没有运气通过 JMC 连接。我使用的 URL 如下所示:
服务:jmx:remoting-jmx://192.168.99.100:9990
Unable to connect错误。Unable to connect.然后,我在这里找到了硬编码一些 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
在 %WILDFLY_HOME%\bin\standalone.conf.bat 中:
设置“JAVA_OPTS=%JAVA_OPTS% -XX:+FlightRecorder”
在 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) 希望这对某人有所帮助。