`
yznxing
  • 浏览: 370891 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

用spring连接jmx

    博客分类:
  • java
阅读更多

接着上一篇 “原生态连接jmx”的例子。

 

上一篇中,发布一个MBean还要实现接口,还要写一堆东西比较麻烦。如果使用spring的话,

spring会帮我们吧这些都做掉,之后的代码就变得异常简洁。

 

在使用了spring之后唯一需要的就是

 

一个main函数,

一个配置文件,

一个发布的MBean的POJO。

 

代码分别如下:

 

MBean的POJO:

 

 

/**
 * @author guoliang
 * @version 创建时间:2010-11-14 下午03:50:24 类说明
 */

public class MyHelloMBean {

    private static int count;

    public static synchronized void inc() {
        count++;
    }

    public static synchronized int cnt() {
        return count;
    }

    public String testMethod(String from) {
        return "hello world" + from;
    }

    private String testPrivateMethod() {
        System.out.println("testPrivateMethod");
        return "private";
    }
}
 

 

 

对应的jmx的配置文件

 

spring-jmx.xml。有兴趣的话可以看看源码,其实就是spring帮忙生成了MBeanInfo的信息。

具体可以参见:AbstractMBeanInfoAssembler的getMBeanInfo方法。

 

 

<?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:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd"
	default-autowire="byName">

	<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"
		lazy-init="false">
		<property name="beans">
			<map>
				<entry key="bean:name=guoliangtest" value-ref="helloMBean" />
			</map>
		</property>
	</bean>
	
	<bean id="helloMBean" class="com.taobao.yzn.study.spring.jmx.MyHelloMBean"></bean>

</beans>

 

 

 

对应的main函数:

 

 

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author guoliang
 * @version 创建时间:2010-11-14 下午03:50:48 类说明
 */

public class JmxTestMain {

    /**
     * @param args
     */
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-jmx.xml");

        try {
            Thread.sleep(Integer.MAX_VALUE);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
 

 

 

运行该main函数,跟上一篇类似,需要在eclipse的启动参数里面加上那个那一句话:

 

-Dcom.sun.management.jmxremote=JmxTestMain

 

 

 

 

 

分享到:
评论

相关推荐

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

    3. 使用Spring的JMX支持:Spring提供了`PlatformMBeanServerBeanPostProcessor`,它可以自动检测带有MBean注解的bean并将其注册到MBean服务器。 4. 连接和管理:通过JConsole或其他JMX客户端工具,如VisualVM或JMC...

    spring jmx

    此外,Spring JMX支持异步MBean操作,以及通过JMX连接器(如RMI或HTTP/HTTPS)进行远程管理。这对于分布式系统来说尤其有用,因为管理员可以在不直接接触运行环境的情况下,对远程服务器上的应用进行监控和控制。 ...

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

    - 配置Spring:在Spring配置文件中,使用`&lt;jmx:mbean-export&gt;`或`&lt;bean class="org.springframework.jmx.export.MBeanExporter"&gt;`来导出MBeans。 - 注册MBeans:指定要导出的bean及其在MBeanServer中的ObjectName...

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

    在标题“mx4j管理jmx的jar与spring结合使用”中,我们关注的重点是MX4J如何与Spring协作来实现JMX的功能。MX4J提供的`mx4j-tools-2.1.1.jar`是MX4J的核心库,包含了用于JMX操作的各种工具和API。这个版本(2.1.1)...

    JAVA JMX 学习资料

    JMX常用于服务器监控,如内存使用、线程状态、JDBC连接池等。在应用服务器如Tomcat、JBoss中,JMX也被用来管理服务器配置和组件。 8. **Spring对JMX的支持**: Spring框架提供对JMX的全面支持,可以方便地注册...

    jmx所需的jar

    JMX可以与其他Java技术结合使用,如Spring框架中的Spring JMX,它提供了更方便的集成方式。此外,许多开源工具和应用服务器,如JConsole、VisualVM等,都利用JMX来提供可视化的监控界面。 总的来说,`jmx-1_2_1-ri....

    JMX小例子以及介绍

    Java Management Extensions(JMX)是Java平台上的一个标准...通过理解MBean、MBean Server和连接器的工作原理,以及如何编写和使用JMX代码,我们可以更好地控制和优化我们的应用程序,提升系统的可维护性和稳定性。

    书籍JMX-IN-ACTION

    本书还深入讨论了JMX与其他技术的集成,如JMX与Spring框架的整合,以及JMX在分布式系统中的应用,包括集群管理和跨节点通信。此外,书中还涉及到了安全管理,包括JMX连接的安全策略和认证机制,以确保管理系统安全...

    JMX开发入门

    Java Management Extensions(JMX)是...例如,Spring框架提供了对JMX的集成支持,简化了在Spring应用中使用JMX的复杂性。总的来说,JMX因其灵活性、标准化和广泛的生态系统支持,成为了Java环境中不可或缺的管理工具。

    JMX.rar_jmx_osgi

    8. **JMX与Spring**:Spring框架集成了JMX,使得在Spring应用中使用JMX变得简单。Spring的`@ManagedResource`注解可以自动将bean暴露为MBean,而`@ManagedAttribute`和`@ManagedOperation`可以分别标记可管理的属性...

    cmdline-jmxclient-0.10.3.jar + zabbix tomcat监控模板

    - JMX客户端工具则用于连接到JMX代理(如Tomcat的JMX代理),查询或修改MBean属性,执行MBean操作。 2. **cmdline-jmxclient使用**: - 安装:下载`cmdline-jmxclient-0.10.3.jar`,并将其添加到系统PATH环境变量...

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

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

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

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    JMX(一)-------MBean server

    例如,在文件`spring-schedule-quartz`中,可能涉及到的是Spring如何整合Quartz调度器并使用JMX进行监控。Spring的`PlatformMBeanServer`接口可以透明地获取到MBean Server实例,而`MBeanExportConfigurer`和`...

    spring源码注释中文

    5. **AS(Application Server)**:Spring 提供了与常见应用服务器的集成,如 JMX 支持和 EJB(企业级JavaBean)的轻量级替代方案。 6. **Test**:测试模块支持在开发过程中对 Spring 应用进行单元测试和集成测试,...

    java of core jmx

    7. **JMX与Spring的集成**:Spring框架提供了与JMX的集成,可以方便地将Spring Bean注册为MBeans,简化了JMX的使用。 8. **安全性**:JMX支持安全管理,可以通过设置权限来控制哪些客户端可以访问特定的MBeans,...

    spring boot实战.pdf高清无水印

    1.2.2 使用Spring Initializr初始化Spring Boot项目 10 1.3 小结 18 第2章 开发第一个应用程序 19 2.1 运用Spring Boot 19 2.1.1 查看初始化的Spring Boot新项目 21 2.1.2 Spring Boot项目构建过程解析 ...

    springMongodb参考文档中文版

    - **连接MongoDB**:介绍了如何使用Spring框架连接MongoDB实例,包括Java元数据和XML元数据两种方式。 - **MongoTemplate**:作为Spring Data MongoDB的核心类,提供了丰富的操作MongoDB的方法。 - **文档操作**:...

    Spring框架jar包全

    在你提供的压缩包“Spring框架jar包全”中,包含的是Spring框架4.1.6版本的完整集,这是一个稳定且广泛使用的版本。 首先,Spring的核心组件包括以下部分: 1. **Spring Core**:这是Spring的基础,提供了依赖注入...

    spring4.1核心包

    9.spring-instrument-tomcat-4.1.1.RELEASE.jar Spring对tomcat连接池的集成 10. spring-jdbc-4.1.1.RELEASE.jar 对jdbc简单封装 11.spring-jms-4.1.1.RELEASE.jar 简单封装jms api接口 jms: Java消息服务(Java ...

Global site tag (gtag.js) - Google Analytics