我想在Spring Boot Service中监视嵌入式Tomcat。 Spring本身给了我一些会话使用统计信息,但我需要有关底层线程池的其他信息,如活动连接,队列长度等。
我已经搜索了已注册的bean但无法找到使用的线程池。
有关如何检索该信息的任何想法?
答案 0 :(得分:1)
您好,我18个月前问过问题!
因此,事实证明,使用Spring Boot 2.0及其新的Metrics软件包可以很容易地监视嵌入式Tomcat度量。升级该应用程序的原因。
下面是一些示例代码,可以帮助您入门。
class SomeClass {
@Autowired
private MeterRegistry repo;
@ReadOperation
public WebEndpointResponse<Map> invoke() {
Gauge busyThreads = repo.get("tomcat.threads.busy").gauge();
Gauge allThreads = repo.get("tomcat.threads.config.max").gauge(); // yes, could do @Value("${server.tomcat.max-threads:200}") and have it injected
double busyThreadsCount = busyThreads.value();
double allThreadsCount = allThreads.value();
....
}
}
查看更多:
TomcatMetrics
类专门向Tomcat询问,因此将其引入Spring Boot 1.x执行器中应该不太困难。