2014-01-05 18 views
0

我想序列化從Websphere緩存對象讀取的DistributedMap對象。Websphere使用DistributedMap的實現

所以,我需要擴展它的實現來實現Serializable接口。但是我無法在Websphere JavaDoc上找到任何相關的實現,只有其他的抽象類。並且使用它會給Websphere帶來一個強制性例外,說不能從DistributedMapImpl投射到我的自定義類。

爲了明確我的問題,我想實現一個自定義工具,以便將緩存對象從WAS實例手動複製到另一個WAS實例。

如果還有其他建議。會很好。

回答

0

擴展WebSphere的DistributedMap實現 - 即使有可能 - 也無濟於事。在實例化緩存時,WebSphere仍然會實例化自己的DistributedMap實現,而不是您的實現。

如果您需要複製緩存對象,那麼正確的方式(使用WebSphere的動態緩存)將是定義一個「複製域」並將您的服務器實例包含在該域中。這樣,WebSphere將自動處理域成員之間緩存對象的複製。

另一種選擇是使用外部分佈式緩存產品,例如EHCache。

+0

嗯,謝謝.. 但我想做一個手動緩存複製,因爲我遇到與服務器實例失敗自動複製的情況!所以直到決定採用EHCache時,我需要爲此實現一個手動工具 –

+0

我猜你看到的是服務器無法執行* instant *複製。這是一件已知的事情。無論是WAS還是EHCache,緩存複製永遠都不會是即時的。請記住,根據定義,「緩存」不需要立即複製。 「緩存」是可重新創建的項目的集合。畢竟,你可能最終會使用數據庫。 – Isaac

+0

是的,我想你是對的..我需要使用數據庫,謝謝你。 –