我在servlet中有幾個全局變量。單獨的servlet會話讀取和寫入這些變量。它們用於協調發布到數據庫的值,因此會話保持同步非常重要。我的問題是我可以使用與servlet同步關鍵字來保持不同的servlet會話在這些全局變量之間相互衝突嗎?同步servlet中的全局變量
謝謝,
我在servlet中有幾個全局變量。單獨的servlet會話讀取和寫入這些變量。它們用於協調發布到數據庫的值,因此會話保持同步非常重要。我的問題是我可以使用與servlet同步關鍵字來保持不同的servlet會話在這些全局變量之間相互衝突嗎?同步servlet中的全局變量
謝謝,
我建議不要在servlet類本身做這樣的事情。讓你的servlet的doGet()等調用另一個對象來完成真正的工作。如果這個授權類是一個單身人士,那麼你可以完全控制初始化,狀態等。
如果你依賴應用服務器如何加載servlet類本身,事情會變得脆弱。最好只是讓服務器在任何感覺和不依賴於特定行爲的情況下,加載/共享servlet。
替代方案可以是會話變量(在同步方法內修改)或memcached(再次在同步方法內應用更改)。 – stivlo 2011-05-01 11:41:23
如果你描述你想要達到的效果會更好。我感覺你在混合個別請求和會話。 – 2011-02-09 05:16:51