地市分站
用户名
密  码
您现在的位置是:树人网首页 / 计算机等级考试 / Java认证 / 文章浏览
通过JMX来获得webservice的信息
文章来源:来源网络 发表时间:2008-07-14 点击次数
我们可以通过JMX来获得web service的相关配置属性,内存使用、性能、以及部署在web service下的webapp等信息。
  这在很多监控web service系统中往往都要用到。

  一, JBOSS:

  首先得得到RMIAdaptor,
  下面是获取RMIAdaptor的方法。
  private RMIAdaptor connect2Jboss(String host, int port, String userName, String password, int timeout,int retryTimes) {
  RMIAdaptor mbsc = null;
  for(int i=0;i<retryTimes;i++){
  Properties pro = new Properties();
  pro.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
  pro.setProperty("java.naming.provider.url", "jnp://" + host + ":" + port);
  pro.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
  pro.put("jnp.timeout", String.valueOf(timeout * 1000));
  pro.put("jnp.sotimeout", String.valueOf(timeout * 1000));
  try {
  ic = new InitialContext(pro);
  mbsc = (RMIAdaptor) ic.lookup("jmx/rmi/RMIAdaptor");
  return mbsc;
  } catch (Exception e) {
  logger.info("Host:[" + host + "] Port:[" + port + "] User:[" + userName + "] Password:[" + password + "] Timeout:[" + timeout + "] Error");
  }
  }
  return mbsc;
  }
  得到RMIAdaptor后,就可以得到相关的MBean了。例如,想得到server的相关信息,它的ObjectName是:jboss.system:type=Server。
  Set mbSet = rmiAdaptor.queryMBeans(new ObjectName("jboss.system:type=Server"), null);
  for (Iterator it = mbSet.iterator(); it.hasNext();) {
  ObjectInstance oi = (ObjectInstance) it.next();
  String version = rmiAdaptor.getAttribute(oi.getObjectName(), "Version").toString();
  jbossInfo.setVersion(version);
  jbossInfo.setAvailable(true);
  }
  得到的mbSet是一系列属性Set,通过遍历就可以得到它相关的信息。
  想要得到jboss下所有的web应用,就可以通过ObjectName:jboss.web.deployment:*。
  mbSet = rmiAdaptor.queryMBeans(new ObjectName("jboss.web.deployment:*"), null);



第 页

责任编辑:qwer19871212

相关文章
公告栏

“蓝焰杯”第二届河南教育十大新闻人物火热评选中!!

点击参加评选,为你心目中的新闻人物投上一票>>>>
频道内容精选
[计算机考试]程序员必考的知识点
论坛/博客精选