<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # (七):性能監測工具JavaMelody ### 簡介 JavaMelody 能夠監測Java或Java EE應用程序服務器,并以圖表的方式顯示: Java內存和Java CPU使用情況,用戶Session數量,JDBC連接數, 和http請求、sql請求、jsp頁面與業務接口方法(EJB3、Spring、 Guice)的執行數量,平均執行時間,錯誤百分比等。 圖表可以按天,周,月,年或自定義時間段查看。 ### 使用步驟 1.下載JavaMelody。 下載地址:[http://code.google.com/p/javamelody/downloads/list](http://code.google.com/p/javamelody/downloads/list) javamelody-1.16.0.jar,jrobin-1.5.9.1.jar (版本號可能會不同) 2.將Jar包拷貝到項目的WEB-INF的lib目錄。 3.在web.xml下增加配置。 ~~~ <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://localhost:8080/monitoring/](http://localhost:8080/monitoring/)?即可看到監控圖表。 [![](image/569357debac20.gif)](http://fansunion.cn/wp-content/uploads/2013/11/Jamelody%E5%9B%BE%E8%A1%A8.gif) ### 安全問題 按照上述的配置,不需要登錄就可以訪問JavaMelody的頁面。 實際項目中,常見需求是“登錄用戶,才可以查看”。 定制方法如下: web.xml的Filter配置 packageName.ProjectMonitoringFilter 自定義的Filter ~~~ public?class?ProjectMonitoringFilter?extends?net.bull.javamelody.MonitoringFilter{?? ?? ?@Override?? ?public?void?doFilter(ServletRequest?req,?ServletResponse?response,?? ???FilterChain?chain)?throws?IOException,?ServletException?{?? ??HttpServletRequest?request?=?(HttpServletRequest)?req;?? ??HttpSession?session?=?request.getSession();?? ??User?user?=?(User)?session.getAttribute(Constant.LOGIN_USER);?? ??String?uri?=?((HttpServletRequest)?request).getRequestURI();?? ??if(user?==?null?&&?uri.indexOf("/monitoring")?!=?-1){?? ???return;?? ??}?? ??super.doFilter(request,?response,?chain);?? ?}?? ??? }?? ~~~ ### 實踐出真知 本來想自己總結的,發現別人總結的比我好,所以就借鑒了許多別人寫的。 我覺得“借鑒”和“復制”別人的并不可恥,因為絕大部分技術都是別人開發的,我們只是用。 那些技術的優點、正確的使用方法,基本是固定的了,我們只有學習的份。 這類工具的使用方法,網上一大堆。 不過,自己總結下,加深下理解,今后也有自己的參考。 看自己總結的,更親切,更可讀,出錯的可能性更小。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看