1
我正在寫j2ee代碼,但我面臨會話屬性的問題。如何確保會話屬性的線程安全
關於確保正在servlet中設置和訪問的會話屬性的線程安全性? 因爲我知道我們不能實現「SingleThreadModel」,因爲這在java中已被棄用,我們也無法同步doXXXX()方法。 我試圖使用「SingleThreadModel」,但它沒有奏效。 那麼我如何確保它? 我可以同步會話對象嗎?
請告訴我,如何解決它。
我正在寫j2ee代碼,但我面臨會話屬性的問題。如何確保會話屬性的線程安全
關於確保正在servlet中設置和訪問的會話屬性的線程安全性? 因爲我知道我們不能實現「SingleThreadModel」,因爲這在java中已被棄用,我們也無法同步doXXXX()方法。 我試圖使用「SingleThreadModel」,但它沒有奏效。 那麼我如何確保它? 我可以同步會話對象嗎?
請告訴我,如何解決它。
您需要一個會話範圍的互斥鎖。即在會話上進行同步,或者更好地在會話中使用特定於用例的對象。
您應該保持互斥體的範圍儘可能小,因爲您可能會導致序列化您的請求。我在我的一個項目上嘗試了一次,在那裏我使用了Spring的RequestMappingHandlerAdapter.setSynchronizeOnSession()
,它只是在每個請求的會話上同步。這對顯示渲染圖像列表的頁面有顯着的影響。我可以看着順序出現這些圖像。
謝謝@Markus Malkusch,它的工作。 – 2014-09-02 14:44:09