簡體   English   中英

可以在Java EE中創建多用戶/共享會話/實例嗎?

[英]Possible to create a multi-user/shared session/instance in Java EE?

我正在嘗試編寫一個Java EE應用程序,其中多個客戶端共享一個應用程序實例的狀態,該實例可能類似於文檔。 想想像“ Google文檔”這樣的例子,其中多個用戶可以編輯同一文檔。

到目前為止,我采用的方法是在客戶端進行每次更改的情況下,使用Entity將狀態保存到數據庫中。 在進行這樣的更改時,我然后將新狀態發送到連接(訂閱)該實例的其他客戶端。

我擔心這種方法是,當/如果應用程序擴展時會發生什么? 目前,即使只是一小段時間,任何更改都已注冊到數據庫,例如快速更改被其他用戶覆蓋。 同樣,諸如哪些用戶連接到實例以及更改歷史記錄之類的信息也存儲在數據庫中。 對於我來說,在數據庫之間來回切換似乎效率低下。

我的問題是:

  • 是否可以創建多個實例,這些實例的各個狀態存儲在EJB或其他中?
  • 只要有用戶連接到該實例,我是否可以保留一個實例?
  • 我可以在多個連接的客戶端之間共享單個實例的狀態嗎?
  • 是否可以檢測到最后一個用戶何時與實例斷開連接,以便保存其最終狀態?

問題可能很大,但我主要感興趣的是,我應該研究Java EE中的哪些概念?

看來您的問題與JMS隊列中的發布/訂閱機制相匹配? https://docs.oracle.com/javaee/6/tutorial/doc/bnceh.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM