2016-12-27 61 views
0

我正在嘗試編寫一個Java EE應用程序,其中多個客戶端共享應用程序實例的狀態,該實例可能類似於文檔。想像Google Docs這樣的多個用戶編輯同一文檔的地方。可以在Java EE中創建多用戶/共享會話/實例嗎?

我到目前爲止採取的方法是將狀態保存到數據庫,使用實體,每次更改由客戶端。然後,我發送這個新的狀態給其他連接(訂閱)的實例的客戶端。

我對這種方法的擔心是,當應用程序擴展時會發生什麼?此刻,任何變化都會被註冊到數據庫,即使它只是短暫的,就像被另一個用戶覆蓋的快速變化。此外,諸如哪些用戶連接到實例和更改歷史記錄等信息將存儲到數據庫中。這對我來說在DB之間來回看起來效率不高。

有了這個我的問題是:

  • 我可以創建誰的個人狀態被存儲在一個EJB,或別的東西多個實例?
  • 只要有用戶連接到此實例,我是否可以使單個實例處於活動狀態?
  • 我可以在多個連接的客戶端之間共享單個實例的狀態嗎?
  • 我可以檢測到最後一個用戶何時與實例斷開連接,以便我可以保存其最終狀態嗎?

這個問題可能很大,但我主要關心的是,我應該關注哪些Java EE概念?

+0

我無法完全回答,但是應用程序範圍在這裏有什麼用處? http://docs.oracle.com/javaee/6/tutorial/doc/gjbbk.html – DaveH

回答

相關問題