zoukankan      html  css  js  c++  java
  • 项目性能监控之javamelody

    1.引入jar包JavaMelody

    <!-- Java应用程序监控JavaMelody begin -->
    <!-- 启动后直接http://localhost:2121/monitoring查看参数 -->
        <dependency>
           <groupId>net.bull.javamelody</groupId>
           <artifactId>javamelody-core</artifactId>
           <version>1.70.0</version>
       </dependency>
    <!-- Java应用程序监控JavaMelody end-->

    2.不需做任何配置,启动项目后

    访问:http://<host>/<context>/monitoring

    如http://localhost:2121/demo/monitoring即可访问

    javamelody启动原理

    按照正常使用步骤,除了导入javamelody的jar包,还需要在web.xml配置文件里,配置过滤器filter和filter-mapping,还有一个listener监听器。

    为什么现在只需导入jar包,不需要任何配置,启动容器监控程序也跟着启动?这个要从Servlet3.0的规范说起。

    Servlet3.0

    Servlet3.0对于模块化支持

    也就是说现在我们可以把各Web组件单独拿出来进行开发,之后把它们打成对应的jar包放到主项目中就可以了,而不必像之前那样——所有的内容都必须在web.xml文件中进行定义。有了对模块化的支持后我们在实际应用中就可以把某些通用功能的Filter、Listener、Servlet作为一个单独的Web模块进行定义,在需要使用它们的项目中就把对应Web模块对应的jar包加进去就可以了。是不是很有用呢?接下来我们就来看一下这些Web组件究竟是怎样模块化的。      

    Web模块打成的jar包的内容的文件结构要求是这个样子的:
        |--META-INF
    |     |--web-fragment.xml
    |     |--resources
    |     |     |--jsp、图片等,相当于web的根目录
    |--class文件和类路径下的文件

    容器启动时,会去读取每个jar包的META-INF下的信息

    查看javamelody-core的jar包会发现,在META-INF文件夹下有个web-fragment.xml,说明这个jar包本身就是一个Web模块

    打开这个文件,会发现,其实运行监控的过滤器和监听器,已经在这个文件里定义了。这也是为什么不需要再做配置的原因

    Servlet 3.0需要Tomcat 7.0以上版本才支持(包含7.0)

  • 相关阅读:
    多层结构中,事务的运用。
    A private conversation
    Sql Server 日志清理 (数据库压缩方法)
    Basic of Ajax
    Persin Buttons
    不知为什么无缘无故加到了一个“邯郸.net俱乐部”,想退出,找不到入口.....
    Wokflow designer not working when openning workflow in nonworkflow VS 2005 project
    GridView中如何取得隐藏列的值?
    Error: cannot obtain value
    Too late
  • 原文地址:https://www.cnblogs.com/ajax-li/p/7884317.html
Copyright © 2011-2022 走看看