设为首页 收藏本站
查看: 884|回复: 0

[经验分享] 也写一个关于jmx配置weblogic

[复制链接]

尚未签到

发表于 2017-2-16 06:58:01 | 显示全部楼层 |阅读模式
关于jmx配置weblogic,网上示例搜集了不少,但都没有完整的功能,特别是配置这一块,至今还没找到满足需求的,看来得自己查文档自己写代码了....
第一天接触jmx,
先写demo,发现少包,下载之(jmx所需要的jar包在附件里有搜集)
运行例子成功,自己写一个,出现乱码问题,待解决
第一次写weblogic+jmx Demo的时候出现了很多问题,大致上归纳出来绝大多数原因都是缺少jar包导致,后来一口气把bea下的jar包全拷了进去,突然就好使了...
分析了一遍网络上关于weblogic+jmx的大部分例子,终于明白一点了。
关于它的使用大致上流传着两种方式,关于其由来与原因:
1)weblogic8.0内置的JDK版本是1.4,到8.0以上的版本才支持1.5,所以在8.0以前的调用风格为:
    /**
* 得到the Admin MBean Home(MBeanHome)<br>
* 通过环境中定义的默认参数来得到<br>
* 通过返回的对象可以得到RemoteMBeanServer<br>
* 再进一步得到具体的JMSMBeans等来进行具体操作
* @return MBeanHome 返回weblogic的Admin MBean Home对象
*/
protected MBeanHome getMBeanHome() throws Exception{
return (MBeanHome) getCtx().lookup(MBeanHome.ADMIN_JNDI_NAME);
}
再通过得到的MBeanHome来获取相关对象,如:
Set pools = getMBeanHome().getMBeansByType("JDBCConnectionPool");

注意上面的提示,这种方法在最新的weblogic.jar中是过时的!不推荐使用,但8.0以前只能这样调用
2)weblogic8.0以上的内置JDK版本为1.5,所以调用风格改为:
MBeanServerConnection,JMXConnector,JMXServiceURL等类都是从JDK1.5版本开始, 所以如果是8.0以下的版本,将不能使用这样的调用风格,公司的服务器是weblogic10,所以当前使用1.5推荐的方式
    /**
* 得到JMX API 连接器的客户端。使用此类型的对象可建立到连接器服务器的连接<br>
* 通过环境中定义的默认参数来得到此对象<br>
* 由 JMXConnectorFactory.connect 创建的对象已经连接<br>
* 通过返回的对象可以得到MBeanServerConnection
*/
protected static JMXConnector getJMXConnector(){
// 此对象需要被close
JMXConnector connector = null;
try {
// JMX API 连接器服务器的地址对象
JMXServiceURL serviceURL = new JMXServiceURL(Constant.WEBLOGIC_PROTOCOL, Constant.HOST_NAME, Constant.WEBLOGIC_PORT, Constant.JNDI_ROOT + Constant.MSERVER);
Hashtable h = new Hashtable();
h.put(Context.SECURITY_PRINCIPAL, Constant.WEBLOGIC_USER);
h.put(Context.SECURITY_CREDENTIALS, Constant.WEBLOGIC_PASSWORD);
h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote");
connector = JMXConnectorFactory.connect(serviceURL, h);
return connector;
} catch (Exception e) {
e.printStackTrace();
throw new BusinessException(e.getMessage());
}
}

    /**
     * 得到MBeanServerConnection
     * 通过返回的对象来进行具体的业务上的操作
     */
    protected static MBeanServerConnection getMBeanServerConnection(){
MBeanServerConnection connection = null;
try {
connection = getJMXConnector().getMBeanServerConnection();
return connection;
} catch (Exception e) {
e.printStackTrace();
throw new BusinessException(e.getMessage());
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-342662-1-1.html 上篇帖子: weblogic no suitable driver解决方法 下篇帖子: WebLogic Server 11g 集群、 Session复制(Windows)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表