java - 将 JVisualVM 连接到远程 Wildfly 实例?

标签 java wildfly visualvm jvisualvm

我正在尝试将在本地计算机上运行的 JVisualVM 连接到运行 WildFly 服务器(具体来说,版本 8.1.0)的远程计算机。

我自己没有配置 WildFly 服务器,我也不知道是谁配置的,但我知道我可以通过将浏览器指向以下位置以管理用户身份从本地计算机登录:

https://[ip address of the remote machine]:9443/console

请注意,它是https,而不是普通的http,并且其端口已设置为9443(我认为默认值是8080或9990或其他...... . IDK,我在网上看到了很多端口号。我被明确告知这个 WildFly 服务器禁用了 http)。

我可以通过 SSH 连接到远程计算机。我可以导航到 WildFly 的 bin 目录并运行 jboss-client.sh。我必须连接端口 9999 (我认为默认端口是 9990?)

我将 jboss-client.jar(在 bin/client 下)复制到本地计算机,并从命令行运行 JVisualVM,如下所示:

.\jvisualvm.exe -cp:a C:\[path to]\jboss-client.jar

启动正常。 文件>添加远程主机:然后我输入了IP。 确定。我在树中的“远程”下右键单击它,然后选择“添加 JMX 连接”。我输入了

service:jmx:http-remoting-jmx://[ip]:9999

我勾选了我想要使用安全凭证并输入了用户名和密码。勾选以保存安全凭证。未选中“不需要 SSL 连接”。点击确定。它立即吐出消息

Cannot connect to admin@service:jmx:http-remoting-jmx://[ip]:9999 using service:jmx:http-remoting-jmx://[ip]:9999

我还尝试了端口 9443、9990 和 8080。这些都不起作用。我尝试在协议(protocol)名称中使用 https 而不是 http。这也行不通。

我错过了什么?我可以访问控制台并连接 jboss-client.sh,但无法使用 JVisualVM,这是怎么回事?我可以在某处使用一些日志来查看问题所在吗?也许有人可以指出我在某处遗漏的配置?

不确定这是否重要,但我的本地计算机正在运行安装了 JDK8 的 Windows 10。 WildFly 服务器在 CentOS 6.3 上使用 Java 6。

最佳答案

您需要将jboss-client.jar(或jboss-cli-client.jar)添加到JVisualVM 的类路径中。该库可以在 WildFly 安装的 bin/client 目录中找到。

我使用以下命令将库添加到类路径中。

jvisualvm --cp:a ~/servers/wildfly-10.0.0.Final/bin/client/jboss-client.jar

然后我使用 service:jmx:remote+http://[ip]:[port] 并能够连接。

关于java - 将 JVisualVM 连接到远程 Wildfly 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36946903/

相关文章:

java - 安装 Scala 插件后 IntelliJ IDEA 按键不匹配

java - JAX-RS (Resteasy 3.5.0.Final) + Wildfly 12 + Java 9 + maven = 404 未找到,但 JAX-RS (Resteasy 3.5.0.Final) + Wildfly 12 + Java 8 + maven 有效

postgresql - 收到类型为 org.postgresql.util.PGobject 的对象

java - 从 Alfresco 集成测试上下文访问 Spring bean

java - 测试 - 具有内部私有(private)方法的 lambda?

java - 一些消息已经简化。用-Xdiags :verbose to get full output?重新编译

java - 入站 JCA 适配器的 MDB 监听器未在 WildFly 中启动

java - 分析 Java 应用程序 : Cumulative times for methods recursively

java - VisualVM 分析器 : How to test CPU Time for a method with varying parameter sizes?

java - VisualVM:如何找到堆中对象的大小,包括它从其字段中引用的所有对象?