使用JMX获得WebSphere6.1的信息(1)
基本上没什么可说的, 使用SOAP, 需要把ws_runtime.jar放到classpath中. 这个ws_runtime.jar可以搜索一下WAS6.1的安装目录, 有两个, 应该都能用.
Java代码: Properties adminProps = new Properties(); adminProps.setProperty("type", AdminClient.CONNECTOR_TYPE_SOAP); adminProps.setProperty("host", "192.168.1.100"); adminProps.setProperty("port", "8880"); adminClient = AdminClientFactory.createAdminClient(adminProps); ObjectName objName = new ObjectName(" WebSphere:name=JVM,process=server1,platform=proxy,node=test-e4dd24fa82Node02,j2eeType=JVM,J2EEServer=server1,version=6.1.0.0,type=JVM,mbeanIdentifier=JVM,cell=test-e4dd24fa82Node02Cell,spec=1.0"); Object value = adminClient.getAttribute(objName, "freeMemory"); System.out.println(value); 上面紫色的部分不是能通用的, 需要查询下自己的WAS Server. 运行结果: 2009-6-2 17:56:33 com.ibm.websphere.management.AdminClientFactory 警告: ADMC0046W 2009-6-2 17:56:33 com.ibm.ws.management.connector.interop.JMXClassLoader 警告: Could not find tmx4jTransform.jar in null/etc/tmx4jTransform.jar - Interoperability to older versions of WebSphere is disabled 2009-6-2 17:56:34 com.ibm.ws.ssl.config.SSLConfigManager 信息: ssl.disable.url.hostname.verification.CWPKI0027I 31406800 这个很简单, 但是正常运行的前提是WAS6.1 的安全关掉了 (登录不需要密码, 只需要用户名) 如果安全没有关掉, 及其麻烦, 以后详细写~~ 需要注意的一点: WAS6.1只支持到JDK/JRE5.0, 所以上面的Java环境应该在JDK/JRE5.0中运行. 在JDK/JRE6.0中运行将报错. |