zoukankan      html  css  js  c++  java
  • Java项目性能监控和调优工具-Javamelody的学习总结

    1.简介:

      JavaMelody能够在运行环境监测Java或Java EE应用程序服务器。并以图表的形式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。

    2.准备:

    下载javamelody-1.47.0.jar和jrobin-1.5.9.1.jar,引用到项目中.

    3.配置方法:

    一般会在第一个Filter之前加上JavaMelody的Filter配置,确保JavaMelody的Filter第一个被执行

    在web.xml中配置filter:

      	<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/monitoring

    至此,基本配置已完成,可以进行简单的性能监控,javamelody与struts2和spring3也可以进行集成配置,这部分会在后续的总结中详细说明。

    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"> 
    

     6、和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>
    

     7、监控实体

             在实体的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> 
    

    8、查看javaMelody

             访问的目录后加/javamelody ,如http://localhost:8080/javamelody 。

  • 相关阅读:
    windows上npm yarn.ps1,因为在此系统上禁止运行脚本
    windows批量启动服务
    Typora极简教程
    Markdown修改字体颜色
    markdown锚点
    R语言报错long vectors not supported yet qap_encode.c 36
    MAC OS 解决R语言locale问题
    Java调用R语言
    MQL4编程—值传递和引用传递
    二分法查找
  • 原文地址:https://www.cnblogs.com/whsa/p/5072298.html
Copyright © 2011-2022 走看看