Chinaunix首页 | 论坛 | 博客
  • 博客访问: 275379
  • 博文数量: 73
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 452
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-22 17:07
个人简介

心态决定命运

文章分类

全部博文(73)

文章存档

2017年(21)

2016年(27)

2015年(21)

2014年(4)

我的朋友

分类: 系统运维

2017-06-14 21:02:57

    WEB容器:JBOSS-eap-4
   现获取JMX数据方式有以下几种:
   1. 使用cmdline-jmxclient-0.10.3.jar

点击(此处)折叠或打开

  1. java -jar cmdline-jmxclient-0.10.3.jar - ip:port jboss.web:*
    使用此种方式时,有时会遇到ClassNotFoundException,比如 jboss.system:service=ThreadPool QueueSize
   此时需要用到jbossall-client.jar, -Djava.ext.dirs= 指定到jbossall-client.jar所在目录

点击(此处)折叠或打开

  1. java -Djava.ext.dirs=. -jar cmdline-jmxclient-0.10.3.jar - ip:port jboss.system:service=ThreadPool QueueSize
   2. 浏览器直接打开
     这种方式如果配置了账号密码(conf/props/..),需要登录
  3. IE 打开
      这个需要使用applet 配置起来有点麻烦 
  4. 使用JAVA代码
      此种方式需要导入jbossall-client.jar,部分代码手打 可能有错
     可以参考:  

点击(此处)折叠或打开

  1. import java.util.Iterator;
  2. import java.util.Properties;
  3. import java.util.Set;

  4. import javax.management.MBeanInfo;
  5. import javax.management.MBeanOperationInfo;
  6. import javax.management.MBeanParameterInfo;
  7. import javax.management.ObjectInstance;
  8. import javax.management.ObjectName;
  9. import javax.naming.InitialContext;

  10. import org.jboss.jmx.adaptor.rmi.RMIAdaptor;

  11. public class JbossJmxInfo{

  12.     public static void main(String[] args) {
  13.         Properties pro = new Properties();
  14.         pro.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
  15.         pro.setProperty("java.naming.provider.url", "jnp://192.168.125.111:1099");
  16.         pro.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
  17.         InitialContext ic = new InitialContext(pro);
  18.         RMIAdaptor server = (RMIAdaptor) ic.lookup("jmx/rmi/RMIAdaptor");
  19.         OjbectName threadObjectName = new ObjectName("jboss.system:service=ThreadPool");
  20.         System.out.println(server.getAttribute(threadObjectName,"QueueSize"));
  21.         String[] attributes = new String[]{"Name","QueueSize"};
  22. AttributeList attributeList = server.getAttributes(threadObjectName,attributes);
  23. for (int i=0;i<attributeList.size;i++){
  24. Attribute attr = (Attribute )attributeList.get(i);
  25. System.out.println(attr.getName()+":"+attr.getValue());
  26. }
   5. 使用jboss自带的twiddle.sh
       -s 可以使用IP 或jnp://ip:1099
       可以参考:http://blog.csdn.net/niuhea/article/details/14005291

点击(此处)折叠或打开

  1. ./twiddle -s jnp://ip:1099 -uadmin -padmin query "jboss.system:*"
  2. ./twiddle -s jnp://ip:1099 -uadmin -padmin get"jboss.system:service=ThreadPool" QueueSize



阅读(1358) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~