2014-03-13 63 views
4

我有一個項目,有客戶端(擺動),並將有一個EJB應用程序運行在服務器上。如何從應用程序服務器(EJB)通知(或發送消息)swing客戶端?

我的問題是關於溝通。我想在客戶端向服務器發送消息時使用MDB(消息驅動的Bean)。但是我已經停止了應用服務器發送消息(或任何數據)來通知客戶端的問題。

例如,client1有一個窗體(一個文本框和一個按鈕),client2有一個列表(列出client1發送給服務器的數據)。當client1將數據(消息等)發送給服務器時,在它上面做一些工作,而不是將數據發送(通知)到client2。

我該怎麼做?任何幫助,將不勝感激。謝謝。

+0

什麼等待時間是可以接受的?有些方法已經過檢查[這裏](http://stackoverflow.com/q/13810374/230513)。 – trashgod

回答

1

有些方法可以實現你所要求的。

我個人比較喜歡的是:

CLIENT1具有連接到一個JMS隊列一個SB(會話Bean)運行(JMS隊列是安裝在服務器上),我們將其稱之爲INQUEUE現在。

一旦表單數據是在進入隊列,您將需要一個MDB(消息驅動bean將從進入隊列拿起數據,我們將它稱爲MDBInQueue在服務器上運行。

服務器的MDBInQueue流程中的形式接收到的數據,併產生相應的輸出格式爲客戶端2。

現在再次內MDBInQueue它發送再次駐留在服務器的另一個隊列中的反應。我們將調用此outQueue。

的客戶端2具有一個MDB正在運行,我們將其稱爲MDBOutQueue從服務器產生的消息準備好被客戶端2查看。

讓我知道你是否需要任何額外的細節

+0

客戶端中'jndi.properties'中的連接URL如何加載?假設Swing客戶端正在使用JMS將消息發送到服務器。 – Thufir

相關問題