收藏 分享(赏)

使用JMX获得WAS信息.doc

上传人:yjrm16270 文档编号:7421458 上传时间:2019-05-17 格式:DOC 页数:15 大小:556KB
下载 相关 举报
使用JMX获得WAS信息.doc_第1页
第1页 / 共15页
使用JMX获得WAS信息.doc_第2页
第2页 / 共15页
使用JMX获得WAS信息.doc_第3页
第3页 / 共15页
使用JMX获得WAS信息.doc_第4页
第4页 / 共15页
使用JMX获得WAS信息.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、使用 JMX 获得 WAS 信息基本上没什么可说的, 使用 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.setPrope

2、rty(“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-e4dd24fa82Node02

3、Cell,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警告: ADMC0046W2009-6-2 17:56:33 com.ibm.ws.management.connector.interop.JMXClassLoader警告: C

4、ould not find tmx4jTransform.jar in null/etc/tmx4jTransform.jar - Interoperability to older versions of WebSphere is disabled2009-6-2 17:56:34 com.ibm.ws.ssl.config.SSLConfigManager信息: ssl.disable.url.hostname.verification.CWPKI0027I31406800如果启用了安全(WAS6.1 默认的), 会出现下面的错误:2009-6-4 10:25:49 com.ibm.web

5、sphere.management.AdminClientFactory警告: ADMC0046W2009-6-4 10:25:50 com.ibm.ws.management.connector.interop.JMXClassLoader警告: Could not find tmx4jTransform.jar in null/etc/tmx4jTransform.jar - Interoperability to older versions of WebSphere is disabled2009-6-4 10:25:50 com.ibm.ws.ssl.config.SSLConfig

6、Manager信息: ssl.disable.url.hostname.verification.CWPKI0027Icom.ibm.websphere.management.exception.ConnectorException: ADMC0016E: 系统无法创建 SOAP 连接器以连接到端口 8880 上的主机 192.168.1.100。等等等等如何判断安全已经启用了? 比较简单 , 如果 WAS6.1 要求输入用户名和密码, 同时浏览器中查看控制台的协议是 HTTPS, 那么就说明安全启用了 (默认的应该是启用的)下面的步骤比较麻烦, 是 WAS6.1 特殊的. 因为需要 WAS6

7、.1 的证书. 在 WAS6.0里面, 这个步骤很简单, 默认的证书能直接用, 但是 WAS6.1 就不行, 默认的证书不能用, 必须生成自己的证书并配置到 WAS6.1 里面.首先, 进入 AppServer/bin, 运行 ikeyman.bat 文件, 进入证书配置工具:点击添加:选择类型 JKS, 首先生成 KeyStore. 目录设定为 c:test , 名称是 store.jks点击 OK , 之后会询问密码: 这里要输入 KeyStre 的密码: (密码要记住! 后面会用到)点击 OK, 返回主界面. 下面列表中很多默认的证书, 没有用, Ctrl-A 全选, 然后点击右侧的 D

8、ELETE, 都删掉:删掉后, 创建自签署证书:在弹出的界面中, 输入必填的信息. 基本上都是证书的标识, 可以填入自己的一些信息:点击 OK. 这时 KeyStore 就创建完毕了. 这里需要把它导出, 稍后创建TrustStore 用:点击右下角的 Extract Certificate. , 导出证书. 这里命名为 cert.arm, 放到 c:test 下面:OK, 此时 KeyStore 就生成完毕了. 下面生成 TrustStore. 再次点击 New: (这次用的文件名是 trust.jks , 同样放到了 c:test 下面, 同样要记住TrustStore 的密码)同样, 把

9、下面没有用的证书删掉. 然后点击 Add:在弹出的界面中选择刚刚导出的 cert.arm 文件:这时会询问 Label. 随便填点文本:点击 OK, TrustStore 生成完毕了. 这时 , 查看 c:test 文件夹, 里面应该有三个文件 : store.jks (KeyStore), cert.arm (导出文件), trust.jks (TrustStore 文件)下面的工作就是让 WAS6.1 应用这些 KeyStore 和 TrustStore.登录 WAS6.1 控制台, 点击 Security - SSL certificate and key management - Ke

10、y stores and certificates 选项:点击 new :在界面中输入 KeyStore 的名称(这里用 testKeyStore), Path(刚刚创建的, c:teststore.jks), 密码 (创建的时候使用的密码, 这里用到了!) 类型选择 JKS:一样的步骤, 加入 TrustStore.jks:这样, 自己生成的证书就导入到 WAS 中了. 下面要让 WAS 使用它. 点击证书配置项:点击当前节点:然后选择刚刚创建好的 KeyStore 和 TrustStore, 然后点击“Get Certificate Alias“, 获得别名.之后, 点击 OK 保存更改.

11、 这时, WAS6.1 的配置就完毕了. 重启 WAS , 再重新登录控制台, 就可以在浏览器的证书信息中查看到刚才使用 ikeyman 生成证书时输入的一些信息了. 如果使用 Firefox 等浏览器, 可能还需要加入一个Exception, 因为这个证书是我们自己生成的, 不是 Firefox 认为“安全的“机构生成的, 所以会报告安全警告. 当 Firefox 询问的时候加入 Exception, 忽略它就行了.下面就是 Java 程序了. 把 test 文件夹拷贝到 Java 程序运行的机器上, 这里有两种方法.第一种, 修改程序:在创建 adminClient 前面加入下面的代码,

12、定义 Keystore 和 TrustStore. 注意程序里面用到了上面生成 KeyStore/TrustStore 的口令!adminProps.setProperty(AdminClient.USERNAME, “websphere“);adminProps.setProperty(AdminClient.PASSWORD, “websphere“);adminProps.setProperty(AdminClient.CONNECTOR_SECURITY_ENABLED, “true“);adminProps.setProperty(“.ssl.trustStore“, “c:/tes

13、t/trust.jks“);adminProps.setProperty(“.ssl.keyStore“, “c:/test/store.jks“);adminProps.setProperty(“.ssl.trustStorePassword“, “password for keystore“);adminProps.setProperty(“.ssl.keyStorePassword“, “password for truststore“); 然后在文档(1) 中的程序就能正常运行了.第二种, 导入生成的 KeyStore.jks 到 Java 程序运行的 JRE 中 , 就不用运行的时候指定了: 目标密匙口令, 即 JDK/JRE 中默认的, 如果没改过就是changeit; 源密匙口令即上面生成 KeyStore 的口令 (又一次用到了)之后, 上面代码里面的青色的部分就可以忽略了. 注意运行 Java 程序的JRE/JDK, 应该指定为上面命令行导入目标的 JDK/JRE, 即 -destkeystore 中的参数.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报