网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > J2EE > J2ee核心 > 通过JMX来获得web service的信息  

通过JMX来获得web service的信息

2008-07-12  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  我们可以通过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); 网管u家u.bitsCN.com
            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) {

网管网www.bitscn.com

                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(); 网管网www.bitscn.com
                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); 网管bitscn_com

网管下载dl.bitscn.com


TAGs   信息   获得   通过       new    String    int       
 上一篇:如何才算掌握了Java EE   下一篇:没有了
通过JMX来获得web service的信息 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: