我配置的MDB用於監聽外部ActiveMQ代理上的隊列。它工作正常,但MDB從隊列中接收消息,並在延遲2分鐘後纔開始處理。我沒有配置任何超時,但它看起來好像有一種屬性會延遲處理。有人建議我如何調整這個延遲並切換到立即處理?Glassfish + ActiveMQ MDB處理120秒延遲信息
4
A
回答
2
這是Glassfish很久以前的一箇舊bug。
這裏記錄了一個錯誤,但現在這個網站也關閉了。 http://java.net/jira/browse/GLASSFISH-1429
添加System.exit(0)(在finally塊中),它關閉所有線程。
try{
code ...
}finally{
System.exit(0) ;
}
您還可以啓用調試:
1)使jstack,看看有多少線程從MDB線程池是 使用。
2)儘量使工作管理器和線程池的監測統計: http://download.oracle.com/docs/cd/E19879-01/820-4335/6nfqc3qp8/index.html
+0
我試圖使用JVM報告生成線程轉儲,但無法找出任何可疑的東西,但它確實似乎是glassfish錯誤,因爲在還原到其他glassfish版本4.1(4.1.1除外),這個問題不存在。我認爲這回答了。 Thanks Khan – kosgeinsky
相關問題
- 1. MDB消息消費延遲
- 2. NServiceBus延遲消息處理
- 3. 處理環境 - 延遲時間延遲
- 4. 如何使用apache samza每秒處理120萬條消息?
- 5. JMeter的線程通信前處理和後處理延遲
- 6. 處理延遲消息並在處理前刪除
- 7. Vbscript延遲5秒
- 8. 在jms消息處理中添加延遲
- 9. AWS SES處理延遲
- 10. 在Python中延遲處理
- 11. SDL事件處理延遲
- 12. Ajax請求延遲1秒
- 13. c#Xna keydown延遲1秒
- 14. 延遲8秒不工作?
- 15. Delphi:CreateProcess + WaitForSingleObjects + DDE = 15秒延遲
- 16. IRP_MJ_WRITE延遲最長15秒
- 17. 延遲彈出60秒
- 18. 延遲MJPEG流10秒
- 19. 的ActiveMQ延遲的消息的傳遞在春季啓動
- 20. 在spring啓動時在activeMQ中延遲傳送消息
- 21. 使用ActiveMQ和Python測試延遲的消息
- 22. ActiveMQ消費者執行延遲
- 23. 滷麪 - 遞延信息,只有一個消息處理程序
- 24. MessageInterceptor中的一些延遲處理消息
- 25. 來自DLQ ActiveMQ的消息處理
- 26. 與ActiveMQ並行處理多條消息
- 27. ActiveMQ/JMS消息處理程序測試
- 28. 如何處理MSMQ延遲問題?
- 29. MouseEvent處理程序。延遲靜止
- 30. 如何處理嵌套的Dojo延遲
我也遇到相同問題。需要120秒才能完成發送到隊列。 我只在Glassfish 4.1.1(Centos 6)上看到這個,但Glassfish 4.1(Windows 10)很好。 您是否找到解決方案? – kosgeinsky
如果您提供了activemq.xml,它可能會更有幫助。 我有類似的問題,但環境與您的環境略有不同(我們使用的是Glassfish的JBoss EAP 7 instad)。我們經歷的延誤時間有所不同。我們通過指定「pendingMessageLimitStrategy」來解決它。看看http://activemq.apache.org/slow-consumer-handling.html,也許它會讓你更接近。 –
顯示您的配置,以及調用activemq的代碼可能會幫助所有人 – Adonis