通过JMX监控Spring Boot应用
在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 /dependencyHow Do
启动BookPub应用,然后在命令行中执行jconsole命令启动“Java管理和监视控制台”,然后选择org.springframework.boot节点下的Endpoint,可以看到如下信息
![1240](http://upload-images.jianshu.io/upload_images/44770-3953efdb62ee1322.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Java管理和监视控制台
在Tomcat节点下选择ThreadPool,然后在选择http-nio-8080节点,在这个节点下选择maxThreads属性,可以看到如下信息
![1240](http://upload-images.jianshu.io/upload_images/44770-bcc8ff0210a4391e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/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仓库 立即下载
相关文章
- Spring Cloud 学习网址
- spring cloud: Hystrix(八):turbine集群监控(dashboard)
- 非spring的 jar 包里创建一个bean,但是不自动引入(代码库)
- spring boot:用redis+redisson实现分布式锁(redisson3.11.1/spring boot 2.2)
- Spring Boot (四): Druid 连接池密码加密与监控
- spring boot:用dynamic-datasource-spring-boot-starter配置druid多数据源(spring boot 2.3.3)
- spring boot:使用mybatis访问多个mysql数据源/查看Hikari连接池的统计信息(spring boot 2.3.1)
- spring boot:使用多个redis数据源(spring boot 2.3.1)
- 让你的Spring Boot工程支持HTTP和HTTPS
- Spring AOP里面的几个名词的概念:
- Spring中ioc的实现原理
- spring boot + mybatis + mybatis逆向工程 --- 心得
- spring bean生命周期
- struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)
- Spring之配置文件bean作用域的详细介绍
- Spring Boot 与 OAuth2 官方最详细教程
- spring boot 连接mysql mongodb with jpa
- 007-Spring Boot-@Enable*注解的工作原理-EnableConfigurationProperties、ImportSelector、ImportBeanDefinitionRegistrar