`
sunxboy
  • 浏览: 2870141 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JMX in spring 配置

阅读更多

JConsole中的连接:简单的localhost:1099 或 service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

服务端配置

1. 可以在Java命令行里定义, 如:

-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.port=1099
 

在生产环境,最好再带上密码控制:

-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.password.file=conf\jmxremote.password -Dcom.sun.management.jmxremote.access.file=conf\jmxremote.access
 

 

jmxremote.password与jmxremote.access文件参见showcase/assembly/conf/production目录

         安全原因这两个文件要求只读,在windows下可用此命令设置  cacls jmxremote.password /P your_login_name:R

 

2. 在spring的ApplicationContext中定义

使用MBean方式见ServerConfigMBean与ServerConfig,定义符合XXXMBean接口与XXX实现命名规则的类即可。

        使用annotation方式见TraceMBean,Log4jMBean与QueueHolder:

 

@ManagedResource(objectName = "SpringSide:type=Log4jManagement,name=log4jManagement", description = "Log4j Management Bean")
public class Log4jMBean {	       @ManagedAttribute(description = "Logging level of the root logger")
	public String getRootLoggerLevel() {
		Logger root = Logger.getRootLogger();
		return root.getLevel().toString();
	}  	@ManagedOperation(description = "Set the new logging level to the logger")
	@ManagedOperationParameters( { @ManagedOperationParameter(name = "loggerName", description = "Logger name"),
			@ManagedOperationParameter(name = "newlevel", description = "New level") })
	public void setLoggerLevel(String loggerName, String newLevel) {
		Logger logger = Logger.getLogger(loggerName);
		Level level = Level.toLevel(newLevel);
		logger.setLevel(level);
	}

 

 

使用了Spring的自动导出  <context:mbean-export default-domain="Showcase" registration="replaceExisting" />,快速导出所有用annotation标注的MBean. 另外所有其中接口与实现的命名规则需符合默认的 XXXMBean(接口) 与 XXX(实现)的也被被默认导出.

        使用用annotation可以随意自定义MBean的命名空间,而使用MBean定义时则默认为到Custom, 如果需要改变,则需要在applicationContext.xml放弃快速的JMX namespace方式,改为较长的方式,在xml中定义object name.

 

 

 

分享到:
评论

相关推荐

    书籍JMX-IN-ACTION

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

    JMX_in_Action源码

    《JMX in Action》是一本深入探讨Java管理扩展(Java Management Extensions, JMX)...同时,了解JMX也有助于理解其他管理框架,比如Spring的Management Context。总的来说,这本书的源码是学习和实践JMX的宝贵资源。

    Spring in action 3.0

    Spring 3.0版本引入了许多新的功能和增强,包括对Java EE 6的支持、对RESTful Web服务的全面支持、增强的AOP(面向切面编程)功能、对JMS(Java消息服务)和JMX(Java管理扩展)的改进,以及对动态语言的支持等。...

    Spring in Action(第二版 中文高清版).part2

    16.1.3 委托Spring配置的动作 16.1.4 关于Struts 2 16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用...

    Spring in Action,ThirdEdition 英文第三版

    - **最小化Spring配置XML**:随着Spring框架的发展,为了减少配置文件的复杂性和提高开发效率,Spring提供了一系列的方法来简化配置,例如使用注解来替代XML配置,以及利用默认配置等方法来减少不必要的配置工作。...

    Spring in Action(第2版)中文版

    16.1.3委托spring配置的动作 16.1.4关于struts2 16.2协同使用spring和webwork2/struts2 16.3集成spring和tapestry 16.3.1集成spring和tapestry3 16.3.2集成spring和tapestry4 16.4协同使用spring和jsf 16.4.1...

    《Spring In Action》

    8. **Spring配置的加载时织入**: 支持 `&lt;context:load-time-weaver/&gt;`,实现Spring配置的加载时织入。 9. **Hibernate 2.1 支持移除**: 移除了对Hibernate 2.1的支持。 10. **JUnit 4.x 支持**: 在未来的里程碑版本...

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

    6.8.3. 使用Spring IoC来配置AspectJ的切面 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. 切入点实施 ...

    Spring in Action(第二版 中文高清版).part1

    16.1.3 委托Spring配置的动作 16.1.4 关于Struts 2 16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用...

    spring-reference.pdf

    - **Sensible defaulting in Spring MVC**: 在Spring MVC中提供了合理的默认配置,减少了配置工作量。 - **Portlet framework**: 支持portlet开发,为门户应用程序提供支持。 **2.6 其他改进** - **Dynamic ...

    Spring Boot实战 ,丁雪丰 (译者) 中文版

    3.1 覆盖Spring Boot自动配置 42 3.1.1 保护应用程序 43 3.1.2 创建自定义的安全配置 44 3.1.3 掀开自动配置的神秘面纱 48 3.2 通过属性文件外置配置 49 3.2.1 自动配置微调 50 3.2.2 应用程序...

    Spring中文帮助文档

    6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...

    Spring API

    6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...

    spring chm文档

    6.8.3. 使用Spring IoC来配置AspectJ的切面 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. 切入点...

    Spring 2 参考

    - **Sensible defaulting in Spring MVC**:Spring MVC提供了更为合理的默认配置,减少了开发过程中需要显式配置的项目数量。 - **Portlet framework**:引入了Portal框架支持,为开发Portal应用程序提供了便利。 #...

    spring-reference

    - **Sensible Defaulting in Spring MVC**:Spring MVC提供了更为合理的默认配置,减少了不必要的手动配置工作。 - **Portlet Framework**:针对portlet开发提供了一个完整的框架支持。 ##### 2.5 其他方面 除了...

    springboot参考指南

    从Spring配置分离@Entity定义 v. 67.5. 配置JPA属性 vi. 67.6. 使用自定义的EntityManagerFactory vii. 67.7. 使用两个EntityManagers viii. 67.8. 使用普通的persistence.xml ix. 67.9. 使用Spring Data JPA和...

Global site tag (gtag.js) - Google Analytics