以下信息适用于 Windows 上的 Websphere 6.1。
首先,连接到 MBean 服务器的神奇 URL 是:
service:jmx:iiop://<host>:<port>/jndi/JMXConnector
如果您有默认的 Websphere 安装,JNDI 端口号可能是 2809、2810...,具体取决于一个系统上安装的服务器数量以及您想要连接的特定服务器。可以肯定的是,启动 Websphere 时,请检查日志,因为它会转储如下行
0000000a RMIConnectorC A ADMC0026I: The RMI Connector is available at port 2810
如果您没有看到此行,请打开 Websphere 管理控制台并转至
应用程序服务器 > 服务器1 >
管理服务 > JMX
连接器
查看是否需要添加或更改配置。
第二个重要信息是,在使用服务器执行 JMX 时始终需要以下 JAR:
com.ibm.ws.admin.client_6.1.0.jar
您可以在runtimes
Websphere 的目录。无论您做什么,无论是通过编程方式访问 Websphere 上的 MBean,还是使用 JConsole 等等,都可以使用神奇的 URL 和always包括这个 JAR。
对于本答案的其余部分,假设 Websphere 安装在 D:\prog\was61 中。
要运行 JConsole,请输入以下内容:
D:\prog\was61\java\bin>jconsole -J-Djava.class.path=d:\prog\was61\java\lib\tools.jar;D:\prog\was61\runtimes\com.ibm.ws.admin.client_6.1.0.jar
然后转到“高级”选项卡并输入神奇的 JMX URL。按连接,您应该会看到 MBean 出现。
使用 Sun JDK 则完全是另一回事。您需要一个额外的 JAR,该 JAR 位于 IBM JDK 的库中,但不在 Sun 的库中 (ibmorb.jar),也许以下命令可能适合您:
C:\Program Files\Java\jdk1.5.0_11\bin>jconsole -J-Djava.class.path="c:\Program Files\Java\jdk1.5.0_11\lib\jconsole.jar";"c:\Program Files\Java\jdk1.5.0_11\lib\tools.jar";D:\prog\was61\runtimes\com.ibm.ws.admin.client_6.1.0.jar;D:\prog\was61\java\jre\lib\ibmorb.jar
我说也许,因为它对我不起作用。我收到了一条不错的 jndiUnavailCommErr 错误消息,因为它期望在端口 2809 上有某些内容,而我的 Websphere 安装正在侦听 2810,尽管我在 JMX URL 中正确指定了端口 2810。但是,如果您调整路径以指向您的 Sun JDK,它可能适合您。这是我使用 Sun 的 JDK 连接到 Websphere 的最接近的一次。
最后说明:我尝试了基于RMI的解决方案,还有一个可用的SOAP连接器,但还没有尝试过。
与往常一样,J2EE、Websphere 和其他东西:祝你好运,你会需要它的。