2
我需要實現一些機制來防止用戶在同一時間編輯相同的對象。這是我的申請流程:Java EE - 並行編輯,多用戶,任何想法?
- 轉到「列表」頁面
- 選擇要編輯的行形成的DataTable
- 點擊編輯按鈕(導航到「編輯」頁)
- 更改數據
- 點擊「保存」或‘取消’(導航回‘列表’頁)
我希望我能在第3步檢查,如果另一個用戶編輯相同的記錄(同一ID)和顯示信息,例如。 '對不起,另一個用戶正在編輯這個'。
我的想法是保持登錄的用戶和表名+ id的地圖,他們目前正在編輯。爲此,我會使用應用程序範圍的bean(例如EJB 3.1 @Singleton
)。你能指出這個解決方案的弱點嗎?你能提出其他的嗎?
我使用Java EE 6,Seam3,Glassfish 3和Oracle DB 11.我使用MyBatis,沒有JPA框架。