在某些情况下,我们需要对tomcat的繁忙线程数进行监控以满足我们队应用服务器状态信息的把控。那么我们该如何通过我们自定义的接口来获得tomcat的繁忙线程数?
首先,我们应该想到tomcat本身是否为我们提供了类似的方法,博主在实际开发中拜读了一遍tomcat的源码,的确也找到了获取当前服务繁忙线程数的方法。但是它本身并未对外提供,并且使用的时候需要进行一些初始化操作。大家如果有兴趣的话可以下载tomcat源文件,找到org.apache.coyote.http11.AbstractHttp11Processor这个类,在process中有disableKeepAlive这个函数。进入函数查看具体实现
我们可以看到tomcat本事是从线程池中取得活跃数,那么我们也可以通过类似的办法取得tomcat线程池中的活跃数。博主使用的jsp,大家可以对应改为后台代码。
bean来解析线程池
public static class MBeans {
private final MBeanServer mbeanS