标签:
Struts的监控相对来说要简单多了,只要按照下面的步骤,肯定是没有问题的。
第一步,导入必要的jar包,需要的jar包前面已经提到过了。
一个是javamelody.jar,另一个是jrobin-x.jar
第二步,需要在web.xml中添加监控对应的过滤器
<filter> <filter-name>monitoring</filter-name> <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> <init-param> <param-name>log</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>monitoring</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class> net.bull.javamelody.SessionListener</listener-class> </listener>
<? xml version= "1.0" encoding ="UTF-8" ?> <! DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd" > <struts> <package name= "default" extends ="struts-default,json-default" > <interceptors> <interceptor name ="monitoring" class ="net.bull.javamelody.StrutsInterceptor" /> <interceptor-stack name ="myStack" > <interceptor-ref name ="monitoring" /> <interceptor-ref name ="defaultStack" /> </interceptor-stack> </interceptors> <default-interceptor-ref name ="myStack" /> </package> </struts>
<package name ="*" extends ="default" namespace ="/" > <global-results> <result name= "error" >page/error.html </result> </global-results> <action name= "*_*" class ="{1}Action" method ="{2}" > <result name= "index" >page/{1}/index.html </result> <result name= "json" type ="json" >json_result </result> <interceptor-ref name ="myStack" /> </action> </package>
上面三步,就算是配置完了。
如果不触发监控事件,比如点击某些东西进行响应跳转,使用struts,那么是监控不到数据的。虽然有显示对应的图片,但是图片上的数据都是0,Nan或者下方的表为空,这些都是没有触发监听事件的原因。
JavaMelody针对于spring的监控是到方法级别的,我们可以监控到某个类的某个方法,因此需要使用到AOP里面的pointcut进行监听。
下面看一下主要的监听配置:
第一步,依然是导入必备的jar包,上面说的两个,不再重复了。
第二步,加载monitoring-spring.xml以及我们自己的applicationContext.xml配置文件。
如果想要在加载web.xml的时候读取spring的配置文件,需要实现一个监听器
<listener>2 <listener-class>3 org.springframework.web.context.ContextLoaderListener4 </listener-class>5 </listener>
然后在web.xml中,添加spring文件路径。通过这只上下文参数来设置
<context-param> <param-name> contextConfigLocation</param-name> <param-value> classpath:net/bull/javamelody/monitoring-spring.xml /WEB-INF/classes/bean.xml </param-value> </context-param>
上面第一行,定义了监控应用的spring配置文件,下面是我们自己的spring的配置文件。
第三步,通过正则表达式,定位方法
<bean id= "facadeMonitoringAdvisor" class="net.bull.javamelody.MonitoringSpringAdvisor" > <property name ="pointcut" > <bean class="org.springframework.aop.support.JdkRegexpMethodPointcut" > <property name ="pattern" value="org.melody.*.*.service.*" /><!--正则表达式--> </bean> </property> </bean>
lll
标签:
原文地址:http://my.oschina.net/glenxu/blog/482654