java 中使用jmx对tomcat实时监控默认的构造方法无法处理的异常类型的隐式超级构造函数抛出异常

java 中使用jmx对tomcat实时监控默认的构造方法无法处理的异常类型的隐式超级构造函数抛出异常,第1张

JMXServiceURL用于标识JMXConnectorServer,它是采用以下形式的字符串:
service:jmx:<protocol>://[[[ <host>]: <port>]/ <path>]

"protocol" 指定了协议,例如:rmi、iiop、jmxmp 或者 soap。"host"、"port" 和
"path"是可选的。JMXServiceURL并不足以描述所有的用于连接到JMXConnectorServer的配置信息(例如配置
RMIClientSocketFactory 和RMIServerSocketFactory),因此在构造JMXConnectorServer 和
JMXConnector的时候,还可能需要通过一个Map实例指定其它属性。

前一阶段一直做WebSphere61服务器监控研究,网上的资料不多,也不全,自己翻译加领悟,终于实现了全部的功能,下来就分享一下我的成果。1问题的突破点PerfServletAppear我在WebSphere根目录AppServer\installableApps里找到了这个程序,部署到WebSphere服务器上,发现它可以获得服务器的所有监控数据。这对我来说很有用,因为我还不知道WebSphere有哪些组件有哪些指标可以监控。我用jd-gui这个java反编译工具将这个程序反编译过来,修改了反编译产生的错误,并添加了所需的jar包,它就可以部署到我的tomcat并监控WebSphere了。使用SearchandReplace工具(它可以搜索jar)在WebSphere安装目录下找到了所需的jar包comibmwsadminclient_610jar、comibmwssecuritycrypto_610jar、ibmpkcsjar、ws_runtimejar、servlet-apijar。要注意comibmwsadminclient_610jar和ws_runtimejar两个jar包中都有javaxservlet的东西,这和tomcat的common\lib中的servlet-apijar是冲突的,必须用winrar打开这两个jar包,手工删除掉javax文件夹,否则这两个jar包加载不了!这几个jar包是必须的(找了好久!最后还是通过在程序中添加SystemsetProperty("javaxnetdebug","ssl");这句话才调试出了错误原因),因为正常情况下WebSphere服务器安装的时候都添加了安全性,也就是说登录console端是需要输入密码的。所以我们使用JMX连接WebSphere的时候就要接受WebSphere的认证。2使用SSLsoap连接方式为了搞懂这种连接方式如何运作,花费了我很大的工作量。最终在某贴吧上找到了篇神贴,成功导入了证书(参考附件《websphere61证书导入rar》)。然后就是修改PerfServletApp的AdminClient的获取方法了,因为它使用的是AdminServiceFactorygetAdminService()直接从服务器上获得客户端的法,而我的目标是在我的tomcat上部署,此方法显然不行。下面贴出我的完整连接方法:publicstaticAdminClientcreateConncetion(){//SystemsetProperty("javaxnetdebug","ssl");转载


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10803084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存