Ours是基於JSP/JSF的應用程序,可在Weblogic 10上運行(在生產環境中運行集羣)。我們有一個場景,其中(登錄)用戶獲取對象上基於時間戳的鎖。獲得鎖後,代碼每60秒運行一次以更新/使鎖無效。目前鎖的細節在數據庫中維護。意思是每60秒鐘更新一次鎖定,就會觸發更新查詢。在集羣環境中跨JSP應用程序共享HashMap
我們試圖在應用程序層移動此邏輯,我們可以避免觸擊數據庫。爲此,之前寫入數據庫的數據現在保存在HashMap中。但是,HashMap存儲在ServletContext對象中。爲了獲取新用戶的鎖,從ServletContext對象獲取HashMap,然後對其執行任何操作。
但是,它剛剛發現ServletContext對象不會跨集羣複製。因此,如果我有一個HashMap被改變,比如,當user-1獲得對象-1的鎖定並且用戶2登錄時,node-1嘗試獲取對象-1的鎖定,但是請求命中了節點-2,我想,邏輯會失敗,對吧?因爲節點2不會有更新的HashMap。
任何想法/建議?請幫忙。
謝謝 一個
謝謝。但這是Oracle Coherence特有的,不是嗎?我不認爲我們正在使用它。 –
使用這個:)...如果它解決了你的問題 –
不,我們沒有靈活性來爲項目添加一個新的框架。 –