1.簡介:javascript
JavaMelody可以在運行環境監測Java或Java EE應用程序服務器。並以圖表的形式顯示:Java內存和Java CPU使用狀況,用戶Session數量,JDBC鏈接數,和http請求、sql請求、jsp頁面與業務接口方法(EJB三、Spring、Guice)的執行數量,平均執行時間,錯誤百分比等。圖表能夠按天,周,月,年或自定義時間段查看。java
2.準備:web
下載javamelody-1.47.0.jar和jrobin-1.5.9.1.jar,引用到項目中.spring
3.配置方法:sql
通常會在第一個Filter以前加上JavaMelody的Filter配置,確保JavaMelody的Filter第一個被執行服務器
在web.xml中配置filter:app
<filter> <filter-name>monitoring</filter-name> <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> </filter> <filter-mapping> <filter-name>monitoring</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>net.bull.javamelody.SessionListener</listener-class> </listener>
4.重啓項目:打開連接:http://<host>:<port>/projectname/monitoring 例如:http://127.0.0.1:8080/myproj/monitoringjsp
至此,基本配置已完成,能夠進行簡單的性能監控,javamelody與struts2和spring3也能夠進行集成配置,這部分會在後續的總結中詳細說明。ide
5.和struts2集成:性能
1)在struts-common.xml中加入如下代碼:
<package name="default" extends="struts-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>
2)將struts-模塊名.xml中的extends改成default, 即:
<package name="qx-module" namespace="/module" extends="default">
六、和Spring集成
1)在spring-common.xml中添加如下代碼:
<bean id="facadeMonitoringAdvisor" class="net.bull.javamelody.MonitoringSpringAdvisor"> <property name="pointcut"> <bean class="org.springframework.aop.support.JdkRegexpMethodPointcut"> <property name="pattern" value="mgr.*.*.service" /> </bean> </property> </bean>
七、監控實體
在實體的persistence.xml文件最前面加入紅色語句(必須用JavaMelody1.5及以上),如:
<persistence-unit name="gxpt-qx-entity" transaction-type="JTA" > <provider>net.bull.javamelody.JpaPersistence</provider> <jta-data-source>java:/MySqlDS</jta-data-source> <properties> <!-- <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> --> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.show_sql" value="true" /> </properties> </persistence-unit>
八、查看javaMelody
訪問的目錄後加/javamelody ,如http://localhost:8080/javamelody 。