如何在springboot中监控tomcat线程池状态

前言

之前线上突然出现了异常的服务之间的调用被决绝,排查问题发现是因为,请求链路中有一个服务请求器restteamplate 并发没有加上,默认是4(两个节点),导致restteamplate 线程池很块被占满,最终导致tocmat线程池也没有可用资源,后续的请求直接被拒绝。所以改了之后想要查看tomcat 的线程池的情况。

springboot 1.x

@Autowired
ServletWebServerApplicationContext applicationContext;		
TomcatServletWebServerFactory tomcatServletWebServerFactory=applicationContext.getBean(TomcatServletWebServerFactory.class);
String tomcatLog = (((TomcatWebServer)(tomcatServletWebServerFactory.getWebServer())).getTomcat().getConnector()).getProtocolHandler().getExecutor().toString();

springboot 2.x

	@Autowired
	ServletWebServerApplicationContext applicationContext;		
	String tomcatLog = ((TomcatWebServer) applicationContext.getWebServer()).getTomcat().getConnector().getProtocolHandler().getExecutor().toString();

版权声明:本文为aaaaa2428572原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。