科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Hibernate学习(4)----JMX技术

Hibernate学习(4)----JMX技术

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

JMX中的MBean就是针对这些资源而设计的,MBean通过“属性”来显示资源的状态,通过“操作”来实现对资源的控制和管理。

作者:joy_cz 来源:CSDN 2008年2月29日

关键字: java JMX Hibernate

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

package com.joy_cz.jmx;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
import javax.management.Attribute;;
/**
 * @author Administrator
 *
 */
public class HelloAgent {
 /**
  * @param args
  */
 public static void main(String[] args) throws Exception{
  // TODO 自动生成方法存根
  MBeanServer server = MBeanServerFactory.newMBeanServer();
  ObjectName name = new ObjectName("book.java:service=example");
  Hello hello = new Hello();
  server.registerMBean(hello, name);
  Object[] opArgs1 = {};
  String[] sig1={};
  Object result1 = server.invoke(name, "sayHello", opArgs1,sig1);
  Integer times1 = (Integer)server.getAttribute(name, "Times");
  System.out.println(times1);
  
  server.setAttribute(name, new Attribute("Times",new Integer(7)));
  
  Integer times2 =(Integer)server.getAttribute(name, "Times");
  System.out.println(times2);
 }
}
 
看过 HelloAgent的代码部分,你会发现代理程序在使用 sayHello和Times这样的固定名称来间接访问Hello的方法和属性。MBeanServer可以提供对应注册名称MBean的所有信息,通过 getMBeanInfo方法,将MBean的信息封装在MBeanInfo类中,其中包含表示属性和方法的各种元数据类型。
 
MBeanInfo mbi = server.getMBeanInfo(name);
MBeanOperationInfo[ ] mbois = mbi.getOperations();
for(int i = 0;i<mbois.length;i++)
{
      MBeanOperationInfo mboi = mbois[i];
      System.out.println(mboi.getName());
}
MBeanAttributeInfo[ ] mbais = mbi.getAttributes();
for(int i = 0;i<mbais.length;i++)
{
     MBeanAttributeInfo mbai = mbais[i];
     System.out.println(mbai.getName());
}
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章