接着上一篇 “原生态连接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
分享到:
相关推荐
3. 使用Spring的JMX支持:Spring提供了`PlatformMBeanServerBeanPostProcessor`,它可以自动检测带有MBean注解的bean并将其注册到MBean服务器。 4. 连接和管理:通过JConsole或其他JMX客户端工具,如VisualVM或JMC...
此外,Spring JMX支持异步MBean操作,以及通过JMX连接器(如RMI或HTTP/HTTPS)进行远程管理。这对于分布式系统来说尤其有用,因为管理员可以在不直接接触运行环境的情况下,对远程服务器上的应用进行监控和控制。 ...
- 配置Spring:在Spring配置文件中,使用`<jmx:mbean-export>`或`<bean class="org.springframework.jmx.export.MBeanExporter">`来导出MBeans。 - 注册MBeans:指定要导出的bean及其在MBeanServer中的ObjectName...
在标题“mx4j管理jmx的jar与spring结合使用”中,我们关注的重点是MX4J如何与Spring协作来实现JMX的功能。MX4J提供的`mx4j-tools-2.1.1.jar`是MX4J的核心库,包含了用于JMX操作的各种工具和API。这个版本(2.1.1)...
JMX常用于服务器监控,如内存使用、线程状态、JDBC连接池等。在应用服务器如Tomcat、JBoss中,JMX也被用来管理服务器配置和组件。 8. **Spring对JMX的支持**: Spring框架提供对JMX的全面支持,可以方便地注册...
JMX可以与其他Java技术结合使用,如Spring框架中的Spring JMX,它提供了更方便的集成方式。此外,许多开源工具和应用服务器,如JConsole、VisualVM等,都利用JMX来提供可视化的监控界面。 总的来说,`jmx-1_2_1-ri....
Java Management Extensions(JMX)是Java平台上的一个标准...通过理解MBean、MBean Server和连接器的工作原理,以及如何编写和使用JMX代码,我们可以更好地控制和优化我们的应用程序,提升系统的可维护性和稳定性。
本书还深入讨论了JMX与其他技术的集成,如JMX与Spring框架的整合,以及JMX在分布式系统中的应用,包括集群管理和跨节点通信。此外,书中还涉及到了安全管理,包括JMX连接的安全策略和认证机制,以确保管理系统安全...
Java Management Extensions(JMX)是...例如,Spring框架提供了对JMX的集成支持,简化了在Spring应用中使用JMX的复杂性。总的来说,JMX因其灵活性、标准化和广泛的生态系统支持,成为了Java环境中不可或缺的管理工具。
8. **JMX与Spring**:Spring框架集成了JMX,使得在Spring应用中使用JMX变得简单。Spring的`@ManagedResource`注解可以自动将bean暴露为MBean,而`@ManagedAttribute`和`@ManagedOperation`可以分别标记可管理的属性...
- JMX客户端工具则用于连接到JMX代理(如Tomcat的JMX代理),查询或修改MBean属性,执行MBean操作。 2. **cmdline-jmxclient使用**: - 安装:下载`cmdline-jmxclient-0.10.3.jar`,并将其添加到系统PATH环境变量...
JMX集成到spring中,并提供了一个rmi远程连接的配置文件
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来...
例如,在文件`spring-schedule-quartz`中,可能涉及到的是Spring如何整合Quartz调度器并使用JMX进行监控。Spring的`PlatformMBeanServer`接口可以透明地获取到MBean Server实例,而`MBeanExportConfigurer`和`...
5. **AS(Application Server)**:Spring 提供了与常见应用服务器的集成,如 JMX 支持和 EJB(企业级JavaBean)的轻量级替代方案。 6. **Test**:测试模块支持在开发过程中对 Spring 应用进行单元测试和集成测试,...
7. **JMX与Spring的集成**:Spring框架提供了与JMX的集成,可以方便地将Spring Bean注册为MBeans,简化了JMX的使用。 8. **安全性**:JMX支持安全管理,可以通过设置权限来控制哪些客户端可以访问特定的MBeans,...
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项目构建过程解析 ...
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. ...
- **连接MongoDB**:介绍了如何使用Spring框架连接MongoDB实例,包括Java元数据和XML元数据两种方式。 - **MongoTemplate**:作为Spring Data MongoDB的核心类,提供了丰富的操作MongoDB的方法。 - **文档操作**:...
在你提供的压缩包“Spring框架jar包全”中,包含的是Spring框架4.1.6版本的完整集,这是一个稳定且广泛使用的版本。 首先,Spring的核心组件包括以下部分: 1. **Spring Core**:这是Spring的基础,提供了依赖注入...