0

我正在托管在 VirtualBox VM(Windows 2008 Server)内的 Weblogic 服务器上运行应用程序。要连接 JRockit Mission Control Profiler,我的服务器参数如下:

-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n

当我启动服务器时,在 ProcessExplorer 中,我可以看到应用程序正在侦听端口 4000

但在 Mission Control UI 中,我既无法在默认本地连接中看到此应用程序,也无法使用手动端口配置作为新应用程序连接。我能够看到同一 VM 中其他 Java 应用程序的连接。

在此处输入图像描述

我的配置是这样的:

  • 来宾 (VM) 操作系统: Windows 2008 Server
  • 主机操作系统:Windows 7 VM 网络:桥接适配器(混杂:拒绝)
  • 服务器: Weblogic 12c
  • 爪哇: 1.6
  • JVM: Oracle JRockit(R)(构建 R28.2.5-20-152429-1.6.0_37-20120927-1915-windows-x86_64,编译模式)
  • 虚拟机: VirtualBox 4.2.4

我能找到的似乎适用于 Linux VM 的最接近的答案是this

我在下面试过:

  • 具有高级安全性的 Windows 防火墙 -> 入站规则 -> 添加了具有完全访问权限的端口 4000
  • 具有高级安全性的 Windows 防火墙 -> 出站规则 -> 添加了具有完全访问权限的端口 4000
  • 更改了 VM 网络 -> 桥接适配器 -> 混杂:全部允许
  • 更改虚拟机网络 -> NAT

但还没有运气。以前有人遇到过这个问题吗?

4

1 回答 1

1

上面的 JVM 标志用于 JDWP 样式调试,而不是使用 JRockit Mission Control 使用的 JMXRMI 进行远程连接。

您应该使用 -Dcom.sun.management.jmxremote 属性运行, http: //docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html

或者对于 JRockit,您还可以使用速记标志 -Xmanagement

http://docs.oracle.com/cd/E15289_01/doc.40/e15062/optionx.htm#BABJDIGF

我建议 -Xmanagement:port=4000,ssl=false,authenticate=false

然后您应该能够创建到服务器操作系统主机名/ip 和端口 4000 的自定义 jmc 连接。

如果您在同一主机上同时运行 WLS 和 JRMC,那么您应该能够在 JVM 浏览器中看到正在运行的 WLS。如果不这样做,您仍然可以使用与上述相同的标志。

于 2014-09-29T13:01:57.920 回答