zl程序教程

您现在的位置是:首页 >  后端

当前栏目

通过JMX监控Spring Boot应用

2023-09-14 09:03:12 时间

Spring Boot应用的健康监控一文中,我们通过Spring Boot Actuator对外暴露应用的监控信息,除了使用HTTP获取JSON格式 的数据之外,还可以通过JMX监控应用,Spring Boot也提供了对JMX监控的支持。JMX监控对外暴露的信息相同,不过是使用MBeans容器将应用数据封装管理。

接下来我们看下如何利用JMX获取应用状态信息,以及如何使用Jolokia JMX库对外暴露MBeans的HTTP访问URL。

Get Ready

在BookPub应用的pom文件中添加jolokia-core依赖

 !-- JMX monitor -- 

 dependency 

 groupId org.jolokia /groupId 

 artifactId jolokia-core /artifactId 

 /dependency 
How Do

启动BookPub应用,然后在命令行中执行jconsole命令启动“Java管理和监视控制台”,然后选择org.springframework.boot节点下的Endpoint,可以看到如下信息

1240
Java管理和监视控制台

在Tomcat节点下选择ThreadPool,然后在选择http-nio-8080节点,在这个节点下选择maxThreads属性,可以看到如下信息

1240
查看应用的最大并发线程数

只要添加了Spring Boot Actuator库,所有相关的endpoint和管理服务都打开了,包括JMX,我们可以通过设置endpoints.jmx.enabled=false禁止对外提供基于JMX的endpoints;或者通过设置spring.jmx.enabled=false禁止对外提供Spring MBeans。

在类路径中存在的Jolokia库会触发Spring Boot的JolokiaAutoConfiguration,这个自动配置类会自动配置可以接受/jolokia请求的JolokiaMvcEndPoint;也可以通过在application.properties中设置jolokia.config.系列的属性配置不同的Jolokia配置。完整的Jolokia配置地址在:https://jolokia.org/reference/html/agents.html#agent-war-init-params。如果你希望定制自己的Jolokia配置,则可以通过设置endpoints.jolokia.enabled=false*让Spring Boot应用忽略自身提供的配置。


运行 Spring Boot 应用的几种方式 你好看官,里面请!今天笔者讲的是运行 Spring Boot 应用的几种方式。不懂或者觉得我写的有问题可以在评论区留言,我看到会及时回复。 注意:本文仅用于学习参考,不可用于商业用途,如需转载请跟我联系。
Spring Cloud 应用 Proxyless Mesh 模式探索与实践 本文通过一个 Demo 演示了 SpringCloud 应用通过接入MSE服务治理之后,无需修改任意代码就能具备 Proxyless Mesh的能力,当前 MSE 服务治理支持还有些限制,在持续补充完善中。
【Spring MVC 系列】异常处理,为你的应用加层防护 异常处理是几乎所有编程语言都具有的特性,主要是处理程序运行时的非预期行为,保证程序的健壮性。JVM 运行时如果遇到未经处理的异常线程将意外退出,为了避免这种情况需要为线程设置默认的异常处理器。
理解 Spring 应用上下文生命周期 Spring 应用上下文(ApplicationContext),是 Spring 应用的核心接口,也是我们常说的 Spring 容器,除了扩展了基础容器 BeanFactory 还提供了更多企业级的特性,如资源管理、事件发布、国际化等。
阿里“宝妈级”之作,这份Spring Security应用到源码手册,全是精华 对于开发人员而言,如何使用各种技术体系解决安全性问题是一大困惑。经验丰富的开发人员需要熟练使用 Spring Security 框架来应对业务发展的需求。例如,全面掌握 Spring Security 框架提供的认证、授权、方法及安全访问、OAuth2、JWT 等核心功能,构建自己对系统安全性设计的知识体系和解决方案。
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载