真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

如何用TomcatMBean實現監(jiān)控應用

今天就跟大家聊聊有關如何用Tomcat MBean實現監(jiān)控應用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)主營三明網站建設的網絡公司,主營網站建設方案,APP應用開發(fā),三明h5微信小程序開發(fā)搭建,三明網站營銷推廣歡迎三明等地區(qū)企業(yè)咨詢

做為一款發(fā)行多年的成熟開源應用服務器,Tomcat 有眾多的優(yōu)點,其中方便的監(jiān)控就是其中之一。

在 Tomcat 中,要實現監(jiān)控,無論是監(jiān)控應用,還是監(jiān)控容器內部,都可以通過 JMX的方式實現。

打開JConsole的窗口可以看到,在列出的本地JVM進程中,包含已經啟動的 Tomcat 進程,其中名稱一欄是當前應用的 Main-Class 的名稱, PID 和 jps 命令顯示一致。對于不清楚哪個是要 attach 的應用時,可以通過 jps 命令顯示詳情,通過載入的配置,JVM 參數等來明確。(jps 命令請參考這篇 你可能不知道的幾個java小工具 )

如何用Tomcat MBean實現監(jiān)控應用

attach之后,就會看到 Tomcat 以及 JVM 對外暴露的一系列對象,在 JMX 里稱之為 MBean。 這里 JConsole 僅僅是一個 Client, 我們所連接到的這個進程所提供的,是一個 Server, JMX 里稱為 MBeanServer。這些 MBean 就是 這個Server 上對外提供屬性和方法的對象。

下面這張圖,是 attach 到 Tomcat 進程后看到的 一些MBean, Catalina 這個很明顯是 Tomcat 提供的, 一些java開頭的,是 JVM 提供的。

這里的 Engine 就是一個MBean, 紅框中的屬性和操作,是MBean對象提供的可供讀取和執(zhí)行的內容, 而右側這里的ObjectName,是我們在一個MBeanServer上 來定位一個MBean 的名稱。

如何用Tomcat MBean實現監(jiān)控應用

JMX

說到MBean,就不得不提 JMX。什么是JMX?

JMX 是 Java Management Extensions 的縮寫,Wikipedia上這樣介紹:

JMX is a Java technology that supplies tools for managing and monitoring applications, system objects, devices(such as printers) and service-oriented networks.Those resources are represented by objects called MBeans (for Managed Bean).

最主要的功能,是用來對應用進行管理監(jiān)控。我們上面提到的幾個概念,就是 JMX 中最核心的幾個概念。

wikipedia上這張圖借來一用。我們看到 Console 通過不同的協(xié)議連接到MBeanServer上。

如何用Tomcat MBean實現監(jiān)控應用

JMX 在 Tomcat 中的使用

Tomcat 使用 JMX 實現其自身的監(jiān)控和管理。其中 我們在Catalina 包下看到的這些 MBean,在不同的包中有不同的MBean 描述文件描述。

如何用Tomcat MBean實現監(jiān)控應用

如果對于自己部署的應用有監(jiān)控和管理的需要等,我們自己也可以開發(fā)MBean,然后直接獲取平臺的MBeanServer,這樣就可以和Tomcat的進程在一起。

Tomcat 內部對于一些應用部署,屬性提供等都可以通過 JMX 的形式來完成,我們之前寫過一些這部分的內容:

你了解JMX在Tomcat的應用嗎?

你一定不知道IDE里的Tomcat是怎么工作的!

里面有介紹IDE內應用部署是如何通過JMX實現的等。

此處,當前 Tomcat 內部署了哪些Web應用,同時創(chuàng)建了哪些 線程池, Connector 等,都可以通過 JMX 的 MBean 進行獲取和管理。

如何用Tomcat MBean實現監(jiān)控應用

要獲取這些信息,所需要做的,僅僅是寫一個 JMX 的 Client,然后通過 ObjectName 讀取其即可,所有的屬性讀取,操作執(zhí)行,完全可以理解成普通的JavaBean 在進行反射調用一樣。

對于一個Web應用,在web.xml里配置的那些信息,在MBean里一樣有體現

如何用Tomcat MBean實現監(jiān)控應用

還有關于請求數的統(tǒng)計

如何用Tomcat MBean實現監(jiān)控應用

一個Web應用內的 Servlet 、Jsp 都分別羅列出來,做為不同的MBean,他們的ObjectName格式類似這樣:

Catalina:j2eeType=Servlet,WebModule=//localhost/examples,name=HelloWorldExample,J2EEApplication=none,J2EEServer=none

只需要修改黑體字部分即可。

而通過 JMX 實現的管理,是通過對MBean提供的一些操作的執(zhí)行,來實現應用內一些內容的動態(tài)變更。比如像Connector的啟動暫停。

可以在Jconsole里直接進行方法的調用。

如何用Tomcat MBean實現監(jiān)控應用

看完上述內容,你們對如何用Tomcat MBean實現監(jiān)控應用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


標題名稱:如何用TomcatMBean實現監(jiān)控應用
當前地址:http://weahome.cn/article/gcehsj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部