0
A
回答
0
试试这个:
- 创建servlet Filter。
- 使其实施DynamicMBean。在过滤器的init方法中注册bean(并在destroy方法中取消其注册)
- 定义synchronizedWeakHashMap字段。
- 在过滤器的doFilter方法中,在之前捕获请求的URI,调用FilterChain的doFilter方法。将线程和请求URI插入WeakHashMap。
- 调用链。
- 在finally块中,将当前线程和一些任意常量(如无请求)插入到WeakHashMap中。
- 实现DynamicMBean,以便MBeanInfo在WeakHashMap中呈现每个线程一个MBeanAttributeInfo。使属性名称为线程的名称和类型URI(或字符串)。
- 实现DynamicMBean,以便getAttribute方法返回与请求的属性名相对应的线程的URI。
- 配置过滤器,以便为要跟踪的所有URI范围调用过滤器。
当查看MBean的属性,你会看到URI(或NO REQUEST)为仍处于活动状态在已处理的至少一个请求中的JVM每个线程。当线程终止时(也可能在几个GC周期后),WeakHashMap条目将被删除。
现在看起来有点艰辛,我读了它,但它应该是非常简单的。
//尼古拉斯
相关问题
- 1. 在应用程序中获取实时HTTP请求的信息
- 2. 从Scrapy中的请求对象获取HTTP请求消息
- 3. 从IE获取HTTP请求
- 4. 从TIBCO BW进程获取HTTP请求
- 5. 从NodeJS获取请求中获取Facebook用户信息
- 6. Linux:获取单个HTTP请求的详细统计信息?
- 7. 使用Eventmachine Http请求获取有关错误的信息
- 8. Angular 2从http获取请求的对象获取请求
- 9. php发送获取请求信息
- 10. 如何从httpsocket获取请求中提取信息?
- 11. 从HTTP请求获取完整路径
- 12. 从Restlet请求获取HTTP GET参数
- 13. 从CFHTTPMessageRef获取原始HTTP请求
- 14. 从$ http请求中获取Json
- 15. 无法从http请求中获取JSON
- 16. jQuery从HTTP请求获取JSON
- 17. 从http请求获取授权标头
- 18. HTTP获取请求 - 程序停止
- 19. 如何从GET HTTP请求获取消息正文?
- 20. 从cxf消息获取HTTP请求正文
- 21. 获取http代码请求
- 22. 跨域http获取请求
- 23. Http获取请求问题
- 24. 用Rapture获取请求Http
- 25. 获取的urllib2 http请求
- 26. 使用http获取请求终止的线程终止
- 27. 从asp.net中的远程URL上的获取请求中提取标题信息?
- 28. 应用程序请求和从第二个应用程序获取信息
- 29. 从php curl post请求中获取标题信息
- 30. 从API.ai履行请求获取代理信息
你将如何从容器中获得所有线程? – 2011-12-21 07:31:11
你的线程可能会在你迭代的时候完成,我宁愿在线程(servlets)内部记录URIs,也许在一个MBean里面... – home 2011-12-21 09:34:38
有不同的方法来获得线程,但我最感兴趣的是Stack Traces我发现最简单的方法是使用静态方法:Thread.getAllStackTraces() – isapir 2011-12-22 01:46:08