我們使用Oracle Weblogic 10.3作爲我們的應用程序服務器。我們有多個模塊需要訪問託管服務器通用的對象(包含一些HashMaps)。這個對象將通過其他進程每天填充。由於大量的應用程序和有限的內存,我們不希望在每個應用程序中都有這個副本。我們不能將這些組合成一個耳朵,因爲個人(戰爭)需要根據不同的時間表進行更新。Weblogic 10.3受管服務器共享內存對象
我已經嘗試創建一個可選包並在兩個模塊中引用它。正在訪問的類只是將調用包裝爲對象的單例。但是,爲每個應用程序創建一個單獨的單例會破壞目的。
看起來啓動類在8.1或更早版本的某個時候被棄用,現在已經到了10.3版。
有沒有什麼辦法讓這個對象和其他代碼在應用程序/模塊級別之上「活着」,每個jvm /受管服務器只有一個副本,並且可以被部署到同一個受管服務器的所有模塊訪問?
如果解決方案也可以在Tomcat中運行,則可獲得獎勵積分。
我沒有意識到Weblogic生命週期事件,儘管我嘗試過ServletContextListeners。 我們正在嘗試嘗試尋找替代我們目前使用Tangosol/Coherence進行的一些功能,這與EHCache類似。我們有一個hashmap,需要每天讀取數百萬次,具有低延遲要求。我們希望這可以在應用程序中訪問,而無需在它之前創建EJB或類似的應用程序。但如果這是做到這一點的唯一方式,我們可能不得不這樣做。我比執行更擔心表現。 – bobtheowl2 2010-07-16 14:06:39
@ bobtheowl2:Coherence是一款出色的產品,如果許可成本不是問題,請堅持使用它。如果是這樣,圍繞EHCache的解決方案可能是一個不錯的選擇。關於SLSB,如果你使用本地接口,開銷應該很低。但是,一如既往,衡量它。 – 2010-07-19 19:33:32