关闭

Spring -- 整合JMX

标签: springjmx
628人阅读 评论(0) 收藏 举报
分类:

JMX,今天需要使用这个技术,实现一些手动接口的调用,调研了下简单的例子,如下

首先我们创建一个类,用来执行我们要调用的方法

package com.redhorse.agent.jmx;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jmx.export.annotation.ManagedOperation;
import org.springframework.jmx.export.annotation.ManagedResource;

import com.redhorse.agent.cron.job.DayDataSummaryJob;

//实例标记为由JMX管理的资源
@ManagedResource(objectName = "bean:name=Job", description = "My Managed Bean", log = true, logFile = "jmx.log", currencyTimeLimit = 15, persistPolicy = "OnUpdate", persistPeriod = 200, persistLocation = "foo", persistName = "bar")
public class JobBean {

    @Autowired
    private DayDataSummaryJob dayDataSummaryJob;

    @ManagedOperation(description = "dayDataSummaryJob")
    public void dayDataSummaryJob() {
        dayDataSummaryJob.doJob();
    }

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

spring的配置文件如下:

<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"
    xsi:schemaLocation="
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.0.xsd">

    <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
        <property name="assembler" ref="assembler" />
        <property name="namingStrategy" ref="namingStrategy" />
        <property name="autodetect" value="true" />
    </bean>

    <bean id="jmxAttributeSource"
        class="org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource" />

    <!-- will create management interface using annotation metadata -->
    <bean id="assembler"
        class="org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler">
        <property name="attributeSource" ref="jmxAttributeSource" />
    </bean>

    <!-- will pick up ObjectName from annotation -->
    <bean id="namingStrategy"
        class="org.springframework.jmx.export.naming.MetadataNamingStrategy">
        <property name="attributeSource" ref="jmxAttributeSource" />
    </bean>

    <bean id="testBean" class="com.redhorse.agent.jmx.JobBean">
    </bean>
</beans>

代码中需要们改动的只有28行,其他代码不需要动。

这样就成功了。

这里我们通过jconsole访问,来执行方法的调用,如图
这里写图片描述

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Spring与JMX集成

Spring与JMX集成,实现方式灵活而且简单,主要体现在: 1、可以自动探测实现MBean接口的MBean对象,而且可以将一个普通的Spring Bean注册为MBean; 2、定制管理...
  • hj7jay
  • hj7jay
  • 2016-04-14 09:38
  • 1017

使用spring+JMX热部署配置文件

项目中,我们经常使用配置文件,但是里面的某些属性经常变化,特别是测试的时候,某些值不稳定。虽然可以直接停掉服务器,修改该值,然后重启(不需要编译),总归是比较麻烦。所以最好能在不停服务器的情况下,即时...
  • Allen_jinjie
  • Allen_jinjie
  • 2016-03-11 18:32
  • 1171

使用jvisualvm通过JMX的方式远程监控JVM的运行情况

使用jvisualvm通过JMX的方式远程监控JVM的运行情况,步骤如下远程服务器的配置在启动java程序时加上如下几个参数 -Dcom.sun.management.jmxremote -Dcom...
  • RO_wsy
  • RO_wsy
  • 2016-03-09 09:45
  • 3657

二、JMX官方指导文档 之 介绍MBeans

Lesson: Introducing MBeans 这节课介绍了JMX API的基本概念,即被管理的Bean或者MBeans。 一个MBean是一个被管理的Java对象,和JavaBean组件相似遵...
  • jiaotuwoaini
  • jiaotuwoaini
  • 2017-05-03 08:21
  • 532

Spring与JMX集成

spring与JMX集成,实现方式灵活而且简单,主要体现在: 1、可以自动探测实现MBean接口的MBean对象,而且可以将一个普通的Spring Bean注册为MBean; 2、定制管理...
  • u011955252
  • u011955252
  • 2016-11-08 10:24
  • 201

Spring与MX4J集成实现JMX管理

MX4J是一个开源JMX管理框架,支持JSR3 (JMX) 和JSR160 (JMX Remote API)。通过Spring将MX4J集成到我们的应用系统中,可以通过HTTP协议适配,能够基于Web...
  • hj7jay
  • hj7jay
  • 2016-04-14 09:33
  • 1438

mybatis整合Spring的基本步骤

mybatis整合Spring的基本步骤
  • XffGem
  • XffGem
  • 2016-01-08 10:51
  • 2944

详细解释Spring与Hibernate的整合原理

spring与hibernate的整合
  • canot
  • canot
  • 2016-01-13 17:38
  • 4374

Spring整合Struts2的两种方式

Spring提供了一个ContextLoaderListener,该监听类实现了ServletContextListener接口。该类可以作为Listener使用,它会在创建时自动查找WEB-INF/...
  • cuiyaoqiang
  • cuiyaoqiang
  • 2016-07-12 11:44
  • 4323

spring整合hibernate的两种方式

我们学过spring的同学都知道,spring可以整合其他的框架协同开发,大大的降低开发的时间和提高了效率,但是我们在配置的时候总会发生各种各样的问题,下面我记录一下我在配置的时候出现的问题和简单总结...
  • xujin_chen
  • xujin_chen
  • 2016-12-10 11:37
  • 2943
    个人资料
    • 访问:499339次
    • 积分:7773
    • 等级:
    • 排名:第3177名
    • 原创:254篇
    • 转载:99篇
    • 译文:1篇
    • 评论:65条
    博客专栏