运用JMX监控和管理WebLogic的运行

JMX的概述

     

      JMX(Java Management Extensions)是SUN创建的一套规范。BEA WebLogic Server实现了JMX大部分的API,并且提供了一个完全兼容JMX的控制台来管理各种资源。

      在JMX中,被管理的资源被封装为Managed Bean ,简称MBean。MBean是对所有资源的一种抽象。目前,JMX定义了四种类型的MBean:

  •       standard MBeans
  •       dynamic MBeans
  •       open MBeans
  •       model MBeans

      其中, open MBean,model MBean 继承自dynamic MBean。

     

WebLogic的实现     

      WebLogic中定义了接口WebLogicMBean,该接口继承了DynamicMBean(上面描述的dynamic MBean必须实现的接口),MBeanRegistration(用于MBean在Agent注册),NotificationBroadcaster(用于发送Notification,参见JMX Notification Model)。所有的weblogic的MBean都是该接口的子类。也就是说,weblogic里面所有的MBean都是dynamic MBean。

       

WebLogicMBean主要具有以下三种类型的MBeans:

  1. Administration MBeans, 封装从config.xml读取的整个weblgoic domain的配置信息;
  2. Configuration MBeans, 每个weblogic server一份, 是Administration MBeans的copy,用于server配置自己;
  3. Runtime MBeans, 代表着运行时刻WebLogic Server的各种组件和子系统。

      我们通常通过weblogic提供的HTML形式的控制台对weblogic的配置操作,最终都通过调用Administration MBeans实现,在系统运行结束时写回config.xml配置文件。利用JMX可以不通过HTML的控制台,使用自己定制的方法来配置WebLogic中的各种资源。如,对于最终用户比较关心的JDBC数据源的信息,你完全可以自己写一个图形界面来配置。从而不让用户通过浏览器进入weblogic自己带的console进行操作。这样就可以避免用户修改一些很关键的系统信息。

      在weblogic server的JMX Agent的视图里,一个EJB组件,一个JDBC数据源都是Runtime MBeans,甚至weblgoic自己的shutdown类也是一个Runtime MBeans。weblogic为各种资源定义了不同的子Runtime MBeans接口。比如对大家都熟悉的EJB来说,就定义了接口EJBRuntimeMBean,而且更详细的是,对于不同的Bean还定义了不同子接口,比如:EntityEJBRuntimeMBean, MessageDrivenEJBRuntimeMBean, StatefulEJBRuntimeMBean, StatelessEJBRuntimeMBean。     

      当我们调用一个EJB的某个方法时,请求会首先送到JMX的Agent,Agnet根据请求确定要访问哪一个Runtime MBeans,然后调用该Runtime MBeans的方法,这是通过DynamicMBean的方法invoke(java.lang.String actionName, java.lang.Object[] params, java.lang.String[] signature) (actionName:要调用的方法名;params:参数数组 ;signature:该方法的型构)来实现的,invoke的返回结果就是被调用的ejb的方法的返回结果。最后,将结果返回给调用者。

      为MBean定义了Home接口,这是JMX1.0规范所没有的,这样,对于应用程序来说就可以像访问EJB那样在远程首先通过JNDI查找该MBean的Home接口,获得Home接口后就可以获得该MBean,然后,就可以通过MBean对资源进行管理操作。这个流程与EJB几乎完全一样。

      而且,更方便的是,weblogic提供了一个类weblogic.management.Helper,该类通过了一组静态方法getMBeanHome可以非常方便的得到MBeanHome对象。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值