`

也写一个关于jmx配置weblogic

阅读更多
关于jmx配置weblogic,网上示例搜集了不少,但都没有完整的功能,特别是配置这一块,至今还没找到满足需求的,看来得自己查文档自己写代码了....

第一天接触jmx,
先写demo,发现少包,下载之(jmx所需要的jar包在附件里有搜集)
运行例子成功,自己写一个,出现乱码问题,待解决

第一次写weblogic+jmx Demo的时候出现了很多问题,大致上归纳出来绝大多数原因都是缺少jar包导致,后来一口气把bea下的jar包全拷了进去,突然就好使了...
分析了一遍网络上关于weblogic+jmx的大部分例子,终于明白一点了。
关于它的使用大致上流传着两种方式,关于其由来与原因:
1)weblogic8.0内置的JDK版本是1.4,到8.0以上的版本才支持1.5,所以在8.0以前的调用风格为:
    /**
     * 得到the Admin MBean Home(MBeanHome)<br>
     * 通过环境中定义的默认参数来得到<br>
     * 通过返回的对象可以得到RemoteMBeanServer<br>
     * 再进一步得到具体的JMSMBeans等来进行具体操作
     * @return MBeanHome 返回weblogic的Admin MBean Home对象
     */
    protected MBeanHome getMBeanHome() throws Exception{

        return (MBeanHome) getCtx().lookup(MBeanHome.ADMIN_JNDI_NAME);
    }

再通过得到的MBeanHome来获取相关对象,如:
Set pools = getMBeanHome().getMBeansByType("JDBCConnectionPool");


注意上面的提示,这种方法在最新的weblogic.jar中是过时的!不推荐使用,但8.0以前只能这样调用
2)weblogic8.0以上的内置JDK版本为1.5,所以调用风格改为:
MBeanServerConnection,JMXConnector,JMXServiceURL等类都是从JDK1.5版本开始, 所以如果是8.0以下的版本,将不能使用这样的调用风格,公司的服务器是weblogic10,所以当前使用1.5推荐的方式
    /**
     * 得到JMX API 连接器的客户端。使用此类型的对象可建立到连接器服务器的连接<br>
     * 通过环境中定义的默认参数来得到此对象<br>
     * 由 JMXConnectorFactory.connect 创建的对象已经连接<br>
     * 通过返回的对象可以得到MBeanServerConnection
     */
    protected static JMXConnector getJMXConnector(){
        // 此对象需要被close
        JMXConnector connector = null;
        try {
            // JMX API 连接器服务器的地址对象
            JMXServiceURL serviceURL = new JMXServiceURL(Constant.WEBLOGIC_PROTOCOL, Constant.HOST_NAME, Constant.WEBLOGIC_PORT, Constant.JNDI_ROOT + Constant.MSERVER);
            Hashtable h = new Hashtable();
            h.put(Context.SECURITY_PRINCIPAL, Constant.WEBLOGIC_USER);
            h.put(Context.SECURITY_CREDENTIALS, Constant.WEBLOGIC_PASSWORD);
            h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote");
            connector = JMXConnectorFactory.connect(serviceURL, h);
            return connector;
        } catch (Exception e) {
            e.printStackTrace();
            throw new BusinessException(e.getMessage());
        }
    }

   
    /**
     * 得到MBeanServerConnection
     * 通过返回的对象来进行具体的业务上的操作
     */
 
  protected static MBeanServerConnection getMBeanServerConnection(){
        MBeanServerConnection connection = null;
        try {
            connection = getJMXConnector().getMBeanServerConnection();
            return connection;
        } catch (Exception e) {
            e.printStackTrace();
            throw new BusinessException(e.getMessage());
        }
    }
0
0
分享到:
评论

相关推荐

    Java 版jmx 监控中间件weblogic

    Java版 jmx 监控weblogic 生成html

    weblogic内存调优

    1. Heap设定与垃圾回收Java Heap分为3个区,Young,Old和Permanent。Young保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。Permanent区则负责保存反射对象,本文不讨论该区。JVM的Heap分配可以使用-X参数...

    BEA WebLogic Server管理指南

    在Windows、Linux和AIX上成功安装和配置WebLogic Application Server在一个或多个服务器与群集上部署和配置应用程序管理JMX对象,如MBean与MBeanServer 理解J2EE服务,包括EFB、JNDI、JDBC、JMS等 使用管理控制台来...

    monitor源码java-zabbix_java:ZabbixJavaGateway源已更新,以允许进行jmx.discovery,jbos

    您必须在JMX项目中指定一个用户名,例如“ user:protocol” 其中协议可以是以下之一: jmx:使用标准的jmx网址 jmxs:在ssl上使用标准的jmx url jboss:使用URL进行jboss监视 t3:使用weblogic t3连接。 t3s:用于...

    soa_rest_api:适用于 Oracle SOA Suite 的 REST API - 用 JRuby 编写并使用 Rails

    与 SNMP 和其他管理标准一样,JMX 是一个公共规范,许多常用监控产品的供应商都支持它。 WebLogic Server 提供了一组 MBean,可用于通过 JMX 配置、监视和管理 WebLogic Server 资源。 Ruby 版本 - 仅在 JRuby ...

    aix oracle

    在Windows、Linux和AIX上成功安装和配置WebLogic Application Server 在一个或多个服务器与群集上部署和配置应用程序 管理JMX对象,如MBean与MBeanServer 理解J2EE服务,包括EFB、JNDI、JDBC、JMS等 使用管理控制台...

    springboot参考指南

    配置一个数据源 ii. 67.2. 配置两个数据源 iii. 67.3. 使用Spring Data仓库 iv. 67.4. 从Spring配置分离@Entity定义 v. 67.5. 配置JPA属性 vi. 67.6. 使用自定义的EntityManagerFactory vii. 67.7. 使用两个Entity...

    JAVA上百实例源码以及开源项目

     一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个...

    JAVA上百实例源码以及开源项目源代码

     一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个...

    Spring 2.0 开发参考手册

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    Spring中文帮助文档

    9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构...

    Spring API

    9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. 选择一种...

    spring chm文档

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

Global site tag (gtag.js) - Google Analytics