Connect Java Mission Control to Wildfly 16

时光总嘲笑我的痴心妄想 提交于 2020-12-04 03:57:35

问题


I try to connect Java Mission Control (JMC) with Wildfly 16. Application server lays on Docker.

I successfully connected to wildfly via jconsole, to manage it I followed steps described here.

Unfortunately, I have no luck to connect via JMC. The URL which I use looks like this:

service:jmx:remoting-jmx://192.168.99.100:9990

  • I tried to set Xbootclasspath to jboss-cli-client.jar as it was described here, but I just get Unable to connect error.
  • I set the same jars, which are used for jconsole, but still I got Unable to connect.
  • I gave a try to adding flags on container site, as it was shown here, but with these flags, even wildfly haven't started.

Then, I found here the idea to hardcode some jboss classes to enable connection via remoting-jmx. I changed version of jars, according to these provided by wildfly16 and put it to jmc.ini like this.

-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"

After that, finally, I have another error, which is

Could not initialize class org.jboss.remotingjmx.RemotingConnector

I added dependencies of remoting-jmx-3.0.1.Final to Xbootclasspath, but I got still the same error.

My question is, have you got any idea, how to make this connection works ? Maybe someone have done it in different way ?

Any advices how can i debug this problem, will be priceless? Because I'm lack of ideas how to solve it.


回答1:


  1. In %WILDFLY_HOME%\bin\standalone.conf.bat put:

    set "JAVA_OPTS=%JAVA_OPTS% -XX:+FlightRecorder"

  2. In jmc.ini below -vmargs put

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

(%wildfly_home% is different of course, or just copy jboss-cli-client.jar to another directory and correct the path) 3. Run JMC, then Create New Connection - in Connection Properties pane push the button "Custom JMX service URL", put:

service:jmx:http-remoting-jmx://localhost:9990    

In the credentials fields just put user and password, they should be created for Realm Management (e.g. using %wildfly_home%\bin\add-user.bat) Hope this helps someone.



来源:https://stackoverflow.com/questions/56207317/connect-java-mission-control-to-wildfly-16

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!