`
longgangbai
  • 浏览: 7310932 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring JMX的总结学习(一)基于标准接口的JMX

阅读更多

    在Spring中采用JMX标准形式的,开发相关的Spring JMX实例的方法的学习:

创建JMX MBean的相关的MBean类的接口

 

package com.easyway.jboss.jmx.spring.service;

public interface IJmxTestBean {
	   public int getAge();

	    public void setAge(int age);
	    
	    public void setName(String name);

	    public String getName();

	    public int add(int x, int y);

	    public void dontExposeMe();
}

 创建JMX MBean的相关的类:

package com.easyway.jboss.jmx.spring.service;

public class JmxTestBean implements IJmxTestBean {

    private String name;
    private int age;
    private boolean isSuperman;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public int add(int x, int y) {
        return x + y;
    }

    public void dontExposeMe() {
        throw new RuntimeException();
    }
}

 

 

 

 

配置如下:

applicationContext-jmx.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
 <!-- 创建相关的Bean对象并设置参数 -->
 <bean id="testBean" class="com.easyway.jboss.jmx.spring.service.JmxTestBean">
     <property name="name">
         <value>TEST</value>
     </property>
     <property name="age">
        <value>100</value>
     </property>
 </bean>
 
 
<!-- 创建一个MBeanServer对象,
  
 -->
<bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">

  <property name="locateExistingServerIfPossible">
    <value>true</value>
  </property>
  <!-- 
  <property name="agentId" value="springJMXAgentId"></property>
   -->
</bean>


<!--
  一个由 MBeanServerFactoryBean 创建的 MBeanServer 实例,它通过属性server提供给了 MBeanExporter。 
当你提供了你自己的 MBeanServer 实例后,MBeanExporter 将使用该实例,且不再查找一个运行中的 MBeanServer。
  设置相关的Bean的暴露为JMX
   关系最大的是 exporter Bean。beans 属性使得 MBeanExporter 知道要将哪个Bean输出到JMX的 MBeanServer 上去。 
   缺省配置中,beans 里的 Map 中的条目的key被用作相应条目值所引用的Bean的 ObjectName。
  配置MbeanExporter类并传入需要导出的MBean
  -->
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
   <property name="beans">
       <map>
        <!-- 
          最重要的是定义exporter bean. beans属性被用来通知MbeanExporter你有那些beans将被发布到JMX MbeanServer. 
       beans属性是Map类型,因而你能使用<map>和<entry>标记来配置要发布的beans. 在默认的配置中,Map中条目的键值被用作该条目中value所指bean的ObjectName
                 用这个配置,testBean在ObjectName bean:name=testBean1下被发布为JMX Mbean。
                 所有的公共属性被公布为参数而所有公共方法(除去在Object中定义的那些)被公布为操作。
        -->
          <entry key="bean:name=testBean1" value-ref="testBean">
          </entry>
       </map>
    </property>
    <property name="server" ref="mbeanServer"/>
</bean>

<!-- 
   注意当使用一个RMI-based连接器时,你需要启动lookup服务(tnameserv或rmiregistry)用来完成名称注册。如果你通过RMI使用Spring发布远程服务,Spring还要构造一个RMI注册项。如果没有,你可以容易地使用下面的配置项启动一个注册:

 -->

<bean id="registry" class="org.springframework.remoting.rmi.RmiRegistryFactoryBean">
   <property name="port">
     <value>9875</value>
   </property>
</bean>
<!-- 建立服务器端的连接
  Spring JMX使用下面的配置创建、启动和发布一个JSR-160 JMXConnectorServer
 -->
<bean id="serverConnector" class="org.springframework.jmx.support.ConnectorServerFactoryBean">
   <property name="objectName">
       <value>connector:name=rmi</value>
   </property>
   <property name="serviceUrl">
       <value>service:jmx:rmi://localhost/jndi/rmi://localhost:9875/myconnector</value>
   </property>
</bean>

</beans>

 

分享到:
评论
1 楼 tomfish88 2011-03-18  
这个怎么运行啊

相关推荐

    JMX与Spring 结合

    **JMX(Java Management Extensions)** 是Java平台提供的一种管理和监控的标准框架,它允许开发者对应用程序、设备和服务进行管理,提供了动态发现、监控和管理的能力。JMX 可以帮助我们远程控制应用,查看其运行...

    基于Spring+JMX+Tomcat实现资源动态管理

    总之,"基于Spring+JMX+Tomcat实现资源动态管理"是一个强大的技术组合,它为开发者提供了强大的工具来监控和调整应用程序和服务器的运行状态。通过了解和掌握这些技术,我们可以构建出更加灵活、可扩展且易于维护的...

    spring jmx

    Spring JMX,全称为Spring Java Management Extensions,是Spring框架中的一部分,它提供了对Java管理扩展(JMX)标准的支持。JMX是一种Java平台规范,允许开发者创建、管理和监控应用程序的资源,如服务、设备、...

    spring框架下jmx入门例子

    首先,JMX是一种Java标准,它允许开发者创建可管理的Java组件,并提供了一种统一的方式来管理和监控这些组件。在Spring中,我们可以利用JMX来创建MBeans(Managed Beans),这些MBeans代表了我们的管理对象,可以是...

    JMX (三)--------spring整合JMX

    **JMX(Java Management Extensions)**是Java平台提供的一种用于管理与监控应用程序、操作系统和网络设备的标准框架。在本文中,我们将深入探讨JMX如何与Spring框架整合,以实现更高效的服务管理和监控。 首先,**...

    Spring jmx

    JMX(Java Management Extensions)是一种用于管理与监控应用程序的标准框架和技术。它的前身是JMAPI(Java Management API),随着技术的发展,逐渐演变成了今天我们所熟知的JMX。JMX的发展历程大致如下: - **...

    JAVA JMX 学习资料

    Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、系统和服务。JMX允许开发者创建可管理的组件,这些组件可以暴露其状态、性能指标和操作,以便于通过管理工具进行监控和配置...

    springcloud混沌测试-demo.jmx

    springcloud混沌测试-demo.jmx

    实现JMX的spring支持,拓展了RMI远程接口。

    JMX集成到spring中,并提供了一个rmi远程连接的配置文件

    jmx入门

    为什么JMX那么受欢迎,JMX到底有那些优势只得人们去学习和理解,本文从JMX的基本架构、hellowold jmx以及spring对JMX的支持讲起,希望大家能通过本文对JMX有个基础的认识,并能通过本文为今后学习JMX打个基础

    jmx开发例子,包括与spring结合例子

    JMX(Java Management Extensions)是Java平台提供的一种标准管理框架,它允许开发者创建、管理和监控应用程序和服务。在Java环境中,JMX可以用来监控系统资源、管理应用组件,并提供了一个灵活的架构来创建自定义的...

    jmx所需的jar

    Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、系统和服务。JMX提供了一种灵活的框架,使得开发者可以创建管理接口,以便在运行时收集和操作应用程序的数据。在这个场景中...

    JMX SPRING

    **JMX (Java Management Extensions)** 是Java平台提供的一种标准管理框架,它允许开发者对应用程序进行监控和管理。在Spring框架中,JMX被用来管理和监控Spring应用上下文中的bean和其他资源。通过JMX,我们可以...

    书籍JMX-IN-ACTION

    JMX是Java平台上的一个标准组件,它提供了管理和监控应用程序、操作系统和其他Java组件的能力。这本书通过实例详细解释了JMX的工作原理和应用方法,旨在帮助读者提高系统管理和自动化运维的效率。 书中首先介绍了...

    JMX小例子以及介绍

    Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备。它提供了一种统一的方式来创建、配置、查询和管理Java应用中的资源。本篇文章将深入探讨JMX的核心概念...

    JMX开发入门

    1. **标准MBean**:基于预定义的Java类接口,通过约定的getter和setter方法暴露属性。 2. **动态MBean**:不依赖于固定的接口,而是通过运行时的MBeanInfo接口动态地描述其属性和操作。 3. **开放MBean**:使用特定...

    Spring_依赖注入_面向接口编程_不同加载方式

    在Spring中,我们通常定义一个接口,然后创建其实现类。例如: ```java public interface ExampleService { void doSomething(); } @Service public class ExampleServiceImpl implements ExampleService { @...

    mx4j管理jmx的jar与spring结合使用

    2. **创建MBean**:定义一个Java类,该类遵循JMX规范,实现MBean接口或扩展MBean基类。MBean是JMX中的管理实体,可以暴露应用程序的状态和操作。 3. **注册MBean**:Spring通过`MBeanExporter` bean来注册MBean。在...

    jmx例子一则

    JMX(Java Management Extensions)是Java平台提供的一种标准管理框架,用于管理和监控应用程序、设备和服务。这个"jmx例子一则"可能是一个博客文章,详细解释了如何使用JMX进行实际操作。下面,我们将深入探讨JMX的...

Global site tag (gtag.js) - Google Analytics