您的位置:首页 > 编程语言 > Java开发

JavaMelody监控Spring Service层和Spring Controller层

2016-03-29 22:09 441 查看

1.SQL层的配置比较简单

在使用Spring IOC和Spring MVC的时候都使用了POJO的风格,没有公共的抽象父类,也没有公共的接口;阅读JavaMelody的文档,其提供了注解风格的解决方案;

2.监控Service层

注解POJO风格的类实现AOP, 其实就是使用了Aspect;

首先web.xml的配置如下:

<!-- 应用上下文配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:net/bull/javamelody/monitoring-spring-aspectj.xml
classpath:aos.cxt.xml
</param-value>
</context-param>


<!-- javamelody -->
<filter>
<filter-name>javamelody</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
<!-- <async-supported>true</async-supported> -->
</filter>
<filter-mapping>
<filter-name>javamelody</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<!-- <dispatcher>ASYNC</dispatcher> -->
</filter-mapping>
<listener>
<listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>


下面开始正式配置监控service层

在Spring的配置文件中(是Spring不是Spring MVC)开启aspect自动代理。

<aop:aspectj-autoproxy/>


完了,编写service层的代码的时候,只要在感兴趣的类或者方法上注解@MonitoredWithSpring就可以了。

2.监控Controller层

首先开启Spring MVC的aspect自动代理,在Spring MVC的配置文件中,增加如下代码:

<aop:aspectj-autoproxy proxy-target-class="true"/>


注意与配置Service层的自动代理时的区别proxy-target-class=”true”,这个必须要有。

完了,与Service层类似,编写Controller层的代码的时候,在感兴趣的类或者方法上注解@MonitoredWithSpring就可以了。

总结:好多人配置不起来,其实是不熟悉Spring AOP的配置,把Spring AOP玩熟了,分分钟就配置了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: