我想从servlet(或过滤器)访问Tomcat内部数据。特别是,我想从线程池管理器中读取有关繁忙线程的信息。所以,我的问题是它是否可能(我可以想象它可能因为安全原因而被阻止)?如果有可能,也许有人可以给我任何建议从哪里开始(一些入口点单身等)?
我知道,我可以通过JMX检索此信息。但我宁愿选择直接API(因为JMX可能很重,不是吗?)。
答案 0 :(得分:1)
ServerFactory#getServer()会有帮助吗?它提供对运行servlet /过滤器的Tomcat Server实例的访问。从那里,您可以深入挖掘以找到所需的信息/
回答你关于JMX“沉重”的问题:可能不是。如果您只是定期监视数据,那么您应该没问题,特别是如果您通过平台MBeanServer访问同一VM内的mbeans
答案 1 :(得分:0)
你到底想要完成什么? Lambda Probe是Tomcat的一款出色的监控工具,可能具有您正在寻找的功能。
答案 2 :(得分:0)
在测试了不同的方法后,我最终决定使用JMX。开销似乎不如我预期的那么重要。