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

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

JMX在Tomcat的應(yīng)用是怎樣的

本篇文章給大家分享的是有關(guān)JMX在Tomcat的應(yīng)用是怎樣的,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)是專業(yè)的五華網(wǎng)站建設(shè)公司,五華接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行五華網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

我們來詳細(xì)說一下Tomcat中的MBeanServer。

1. JMX(Java Management Extensions)

說到MBeanServer,就不得不提JMX。JMX是用于管理和監(jiān)控JAVA應(yīng)用的接口規(guī)范。同時(shí)具有以下特點(diǎn):

  • 通過JMX的”MBeans“來讀取數(shù)據(jù)

  • 可以讀取和寫入MBean的屬性

  • 可以執(zhí)行MBean的方法

我們都熟悉JAVA中的反射,而JMX的整體實(shí)現(xiàn)和作用,和反射有很大的相似性。只是JMX允許執(zhí)行遠(yuǎn)程主機(jī)上的目標(biāo)方法。

通過JMX,可以輕松獲取JVM的各項(xiàng)數(shù)據(jù)值,例如GC執(zhí)行次數(shù),當(dāng)前JVM使用的GC類型,內(nèi)存占用,GC暫停的時(shí)間等。

在此之上,Tomcat對(duì)外暴露了許多有用的數(shù)據(jù),可以通過JMX獲取具體通道的連接數(shù)據(jù)請(qǐng)求數(shù),響應(yīng)數(shù),失敗的請(qǐng)求有多少,線程池的數(shù)據(jù)JNDI的數(shù)據(jù)等等。

在JMX中,有三個(gè)關(guān)鍵的概念:

  • MBeanServer

  • ObjectName

  • MBean

其中MBeanServer代表具體要操作的服務(wù)器,類似于我們要訪問哪個(gè)網(wǎng)站。

而ObjectName代表MBeanServer注冊(cè)的特定對(duì)象的名稱,就像網(wǎng)站的某個(gè)特定頁(yè)面名字。后續(xù)的屬性獲取,方法執(zhí)行,都是在指定特定的ObjectName之后獲取到MBean對(duì)象,再對(duì)其具體的屬性和方法進(jìn)行執(zhí)行。

如上圖,在連接Tomcat的MBeanServer后,可以看到左側(cè)樹狀的MBeans。紅框內(nèi)代表常用的8080通道的MBean,其對(duì)應(yīng)的ObjectName是Catalina:type=Connector,port=8080。

Tomcat內(nèi)部,在啟動(dòng)時(shí),會(huì)將許多核心的數(shù)據(jù),通過MBean的方式,注冊(cè)到MBeanServer上,方便進(jìn)行監(jiān)控和管理。

了解了基本概念后,我們以上篇文章提到的例子,來具體看下JMX在Tomcat中的作用。

  1. 啟動(dòng)Tomcat,使用jps命令獲取其對(duì)應(yīng)的PID

  2. 使用jconsole,連接到該Tomcat對(duì)應(yīng)的MBeanServer上。

  3. 查看該MBeanServer對(duì)應(yīng)的ObjectName都有哪些,選擇具體要操作的對(duì)象。

由于通過Intellij IDEA在啟動(dòng)Tomcat應(yīng)用部署時(shí)的棧調(diào)用,可以得知其調(diào)用的ObjectName對(duì)應(yīng)的類是MBeanFactory.

TCP Connection(2)-127.0.0.1@1379 daemon, prio=5, in group 'RMI Runtime', status: 'RUNNING'
at org.springframework.web.context.ContextLoaderListener.(ContextLoaderListener.java:98)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1585)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:463)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:413)
at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
at java.lang.Thread.run(Thread.java:745)

查看該類對(duì)應(yīng)的MBean,

再查看IDEA操作的該MBean的名為createStandContext的方法,如下圖。此方法需要三個(gè)String類型的參數(shù),基本和直接在server.xml中配置Context元素是一致的。

經(jīng)過上面的分析,IDEA內(nèi)部Tomcat應(yīng)用部署的核心原理我們已經(jīng)了解。而順便了解了JMX。后面的文章有機(jī)會(huì)再聊一下具體項(xiàng)目中對(duì)其使用。

以上就是JMX在Tomcat的應(yīng)用是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站名稱:JMX在Tomcat的應(yīng)用是怎樣的
當(dāng)前鏈接:http://weahome.cn/article/ppcipj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部