0

私はHazelcast2.1とSpring3.1でSpring@Cacheableアノテーションを使用しています。

@Cacheable("testCache")
public MyObject testMethod(int testParam);

//After method call
MyObject test = Hazelcast.getMap("testCache").get("key")
test.setSomeProp()   //This line causes an update to the cache since it is reference.

Hazelcast.getMap()からの参照ではなく、マップからキャッシュされた値のクローン/コピーを返すことは可能 ですか?

つまり、EhCacheのようなcopyOnRead機能が必要です。EhCacheのドキュメントを参照してください

4

1 に答える 1

2

ニアキャッシュを使用せず、キャッシュ値を無効にする場合。元:

 <hz:map name="map"
            backup-count="1"
            max-size="0"
            read-backup-data="true"
            cache-value="false"/>

そうすれば、Hazelcastは、何があっても実際の値のコピーを常に返します。

cache-value = trueを維持すると、Hazelcastは値のオブジェクトバージョンをキャッシュし、ローカル読み取りで同じコピーを返します。ローカル読み取りとは、読み取りが開始され、キーの所有者が同じであるメンバーを意味します。

于 2012-05-09T09:12:34.387 に答える