在GWT中,我想在包含會話配置的服務器上存儲對象。 它必須位於服務器端。GWT會話Singleton
我試圖在我的RPC實現中創建對象的靜態實例,但它似乎是一個真正的Singleton,並且所有用戶都出現相同的配置。任何想法如何解決這個問題?使用RPC將配置從客戶端傳遞到服務器。我想將它存儲在服務器上,直到客戶端關閉瀏覽器。
感謝,
在GWT中,我想在包含會話配置的服務器上存儲對象。 它必須位於服務器端。GWT會話Singleton
我試圖在我的RPC實現中創建對象的靜態實例,但它似乎是一個真正的Singleton,並且所有用戶都出現相同的配置。任何想法如何解決這個問題?使用RPC將配置從客戶端傳遞到服務器。我想將它存儲在服務器上,直到客戶端關閉瀏覽器。
感謝,
沒關係,我終於得到了我的谷歌搜索吧...
在RPC實現:
設置
HttpSession httpSession = getThreadLocalRequest().getSession(true);
httpSession.setAttribute("connectionConfig", connectionConfig);
獲取
HttpSession httpSession = getThreadLocalRequest().getSession(true);
ConnectionConfig config = (ConnectionConfig) httpSession.getAttribute("connectionConfig");
我認爲有很多方法可以做到這一點&這緊緊依賴於你的應用程序。我認爲你可以直接存儲你的對象作爲會話對象&這是最簡單的方法,但如果你不想這樣做是出於任何原因,另一個建議是創建一個靜態哈希映射,&把對象放在該&使用用戶會話ID作爲這個hashmap的關鍵。
感謝您的建議Ehsan,但您的方法的麻煩是,一旦會話終止,對象將會持續並最終耗盡所有內存。除非我錯過了一些東西。 – Ali