【发布时间】:2019-03-19 19:47:35
【问题描述】:
我想在java环境中监控一个外部库中使用的线程池。
可以在我自己的代码中定义的 ExecuterService 等池对象上添加监控逻辑。 但很多情况下,库中声明的池是被封装的,所以用户无法访问。 我需要不断检查库池消耗的资源,以使我的程序稳定。
我要监控的功能是池的名称、大小、当前使用情况,例如活动线程数等。
谢谢。
【问题讨论】:
-
您是否查看过
ExecutorService的实现类,例如ThreadPoolExecutor?您想监控哪些信息是使用此类的 getter 无法获得的? -
@ErwinBolwidt 感谢您的回复。当执行器对象可访问时,我可以通过调用 ThreadPoolExecutor 的 getter 方法来获取信息。但是我问的是对象不可访问的情况,因为外部库声明它封装了它,而不是在库之外显示。
标签: java jvm threadpool monitoring