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