从Servlet(或过滤器)访问Tomcat内部

时间:2009-09-08 13:50:24

标签: java tomcat servlets threadpool internal

我想从servlet(或过滤器)访问Tomcat内部数据。特别是,我想从线程池管理器中读取有关繁忙线程的信息。所以,我的问题是它是否可能(我可以想象它可能因为安全原因而被阻止)?如果有可能,也许有人可以给我任何建议从哪里开始(一些入口点单身等)?

我知道,我可以通过JMX检索此信息。但我宁愿选择直接API(因为JMX可能很重,不是吗?)。

3 个答案:

答案 0 :(得分:1)

ServerFactory#getServer()会有帮助吗?它提供对运行servlet /过滤器的Tomcat Server实例的访问。从那里,您可以深入挖掘以找到所需的信息/

回答你关于JMX“沉重”的问题:可能不是。如果您只是定期监视数据,那么您应该没问题,特别是如果您通过平台MBeanServer访问同一VM内的mbeans

答案 1 :(得分:0)

你到底想要完成什么? Lambda Probe是Tomcat的一款出色的监控工具,可能具有您正在寻找的功能。

答案 2 :(得分:0)

在测试了不同的方法后,我最终决定使用JMX。开销似乎不如我预期的那么重要。