JMX在Tomcat的应用是怎样的

技术JMX在Tomcat的应用是怎样的本篇文章给大家分享的是有关JMX在Tomcat的应用是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们来详细说

本文是关于JMX在Tomcat中的应用。边肖觉得很实用,所以分享给大家学习。希望你看完这篇文章能有所收获。我们就不多说了。让我们和边肖一起看看。

让我们详细谈谈Tomcat中的MBeanServer

1.JMX(Java管理扩展)

说到MBeanServer,你不得不提到JMX。JMX是一个管理和监控JAVA应用程序的接口规范。同时,它具有以下特点:

通过JMX的“MBeans”读取数据

MBean的属性可以读写。

可以执行MBean的方法。

我们都很熟悉JAVA中的反射,JMX的整体实现和功能与反射非常相似。只有JMX允许在远程主机上执行目标方法。

通过JMX,可以很容易的得到JVM的数据值,比如GC执行次数,JVM使用的GC类型,内存占用,GC暂停的时间等等。

除此之外,Tomcat还向外界暴露了很多有用的数据,具体的通道的连接数据,请求数,响应数,失败的请求有多少,线程池的数据,JNDI的数据等等都可以通过JMX获得。

在JMX,有三个关键概念:

MBeanServer

ObjectName

MBean

MBeanServer代表要操作的服务器,类似于我们要访问哪个网站。

ObjectName表示MBeanServer注册的特定对象的名称,就像网站特定页面的名称一样。的后续属性获取和方法执行都是在指定特定的ObjectName后获取MBean对象,然后执行其特定的属性和方法。

如上所示,连接到Tomcat的MBeanServer后,您可以在左侧看到MBeans树。红框代表8080通道常用的MBean,对应的ObjectName是Catalina:type=Connector,port=8080.

在Tomcat内部,在启动过程中,很多核心数据都会被MBean注册在MBeanServer上,便于监控和管理。

了解了基本概念之后,让我们用上一篇文章中提到的例子来具体看看JMX在Tomcat中的角色。

启动Tomcat,使用jps命令获取其对应的PID。

使用jconsole连接到Tomcat对应的MBeanServer。

检查与此MBeanServer对应的对象名称,并选择要操作的特定对象。

根据Intellij IDEA在启动Tomcat应用部署时的栈调用,我们可以知道被调用的ObjectName对应的类是MBeanFactory。

TCP连接(2)-127.0.0.1@1379守护程序,prio=5,在组“RMI Runtime”中,状态:“RUNNING”

at org . spring framework . web . context . context loaderlistener . init(context loaderlistener . 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 . standard host . addchild(standard host . Java :717)

at org . Apache . catalina . startup . host config . Manageapp(host config . Java :1585)

at . org . Apache . catalina . mbean . mbean factory . createstandarcontext(mbean factory . Java :463)

org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:413)

at sun . reflect . nativemethodcassarimp . invoke 0(nativemethodcassarimp . Java :-1)

at javax . management . remote . RMI . rmiconnectionimpl . doooperation(rmiconnectionimpl . Java :1466)

at Java . lang . thread . run(thread . java3360745)

地方

检查这个类对应的MBean,

看看IDEA操作的MBean的createStandContext方法,如下图所示。这个方法需要三个字符串类型的参数,基本和直接在server.xml中配置Context元素是一致的。.

通过以上分析,我们已经理解了IDEA内部Tomcat应用部署的核心原理。我顺便了解了JMX。后面的文章有机会谈论它在具体项目中的使用。

以上就是JMX在Tomcat中的应用。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138486.html

(0)

相关推荐

  • 台湾位于祖国的哪里,台湾在哪里是什么样子的

    技术台湾位于祖国的哪里,台湾在哪里是什么样子的台湾(Taiwan)位于中国大陆东南沿海的大陆架上,东临太平洋,东北邻琉球群岛,南界巴士海峡与菲律宾群岛相对,西隔台湾海峡与福建省相望,总面积约3.6万平方千米,包括台湾岛及

    生活 2021年10月22日
  • 零基础学java应该从哪里开始(java学什么方面比较好)

    技术零基础学Java要掌握哪些技能本篇内容介绍了“零基础学Java要掌握哪些技能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年12月22日
  • vuex的几种方法和作用(vuex学习目标是什么教程)

    技术vuex的核心概念和基本使用是怎么样的vuex的核心概念和基本使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。介绍Vuex是实现组件全局状态

    攻略 2021年12月15日
  • 大数据总线平台DBus设计思路与工作原理

    技术大数据总线平台DBus设计思路与工作原理大数据总线平台DBus设计思路与工作原理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、背景企

    攻略 2021年12月3日
  • 怎么用qt实现复制文件程序(qt设计中如何添加组件)

    技术怎么用QT制作一个简易的传输文件小工具本篇内容主要讲解“怎么用QT制作一个简易的传输文件小工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用QT制作一个简易的传输文

    攻略 2021年12月18日
  • 堡垒之夜怎么设置中文,堡垒之夜国际服怎么调中文

    技术堡垒之夜怎么设置中文,堡垒之夜国际服怎么调中文有些玩家表示自己玩国服的堡垒之夜完全没有声音。一部分玩家表示自己的后台声音设置里完全没有堡垒之夜的选项堡垒之夜怎么设置中文,而且有时候连堡垒之夜的声音设置的选项都是灰的。

    生活 2021年10月26日