2013-03-28 27 views
0

我正在使用獨立的多線程應用程序,使用普通的JMS API來使用P2P機制同步發送和接收消息。當多個線程正在運行時,在使用消費者對象(每個線程一個消費者對象)接收數據時拋出異常,並說IllegalStateException:Session被關閉。我嘗試了兩種方式。如何在多線程應用程序中使用Java JMS會話?

1)創建的連接和會話對象在一個單獨的類和在發送和接收消息使用的那些對象。同步發送和接收消息的代碼片段。

2)創建的SessionPool類(單),其中它創建5個會話。由於我的應用程序僅限於線程池計數20,並且每個線程都從會話池檢索會話,並在收到消息後返回會話。這對5個線程正常工作,後來拋出異常說會話關閉。

請幫助我瞭解如何有效地使用使用會話對象與出每線程建立一個會話。

+0

給我們看一些代碼:) – WeMakeSoftware

回答

0

你可能想重新考慮你的架構。

JMS是JMS提供者和消費者JMS [S]之間進行通信的一種方式。這更多的是客戶端 - 服務器體系結構。我不會推薦將它用於p2p。

相關問題