`
yznxing
  • 浏览: 369990 次
  • 性别: 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项目构建过程解析 ...

    Spring 2.0 开发参考手册

    6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. ...

    springMongodb参考文档中文版

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

    Spring框架jar包全

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

Global site tag (gtag.js) - Google Analytics