2012-06-08 131 views
0

我們有一個Web應用程序每五秒鐘生成3-5個並行線程以連接到JMS/JNDI連接池。在創建下一批並行線程之前,我們先等待第一批並行線程完成。在這個過程中,我們正在使用大量的網絡流量,連接線程只是掛起。最後我們手動調用操作團隊來終止連接線程以釋放連接。 問題我想問你的是:JMS多線程處理

  • 顯然,我們做錯了什麼,因爲我們舉行了連接資源
  • 當我們等待並行線程發送第二批的請求之前做出響應,難道這樣的設計不與行業最佳實踐產生共鳴?
  • 最後什麼是此方案即連接到JMS/JMDI連接

感謝您的輸入

回答

1

您需要調整您的連接池參數多線程,你有選擇和建議。這聽起來像是你的服務只用了3-5個連接,這對我來說似乎很合理。 JMS服務應該能夠處理數千個連接。您的池默認限制太低,或者您的JMS服務器配置的連接數太少。

你確定這是其他用戶阻止的嗎?我覺得很奇怪。

+0

JNDI池中的默認設置是35個併發連接。爲了回答問題的第二部分,我們做了一些診斷,以使這個Web應用程序隔離連接。 –

+0

也許你的應用程序沒有正確釋放連接? –

+0

謝謝我們確實檢查了連接正在關閉。你是否在創建3-5個線程並同時訪問連接池時看到任何問題? –

0

我幾乎可以肯定,你會好起來的單連接工廠。只要確保正確清理/關閉會話。我們使用Spring的SingleConnectionFactory。