0

私たちは infinispan を使用しており、システムには大きなオブジェクトがあり、トランザクションごとに小さな変更をプッシュする必要があります。このオブジェクトと Delta の DeltaAware インターフェイスを実装しました。私が直面している問題は、変更が他のノードに伝播されず、オブジェクトの初期状態のみが他のノードに伝播されることです。また、デルタおよびコミット メソッドは、DeltaAware を実装するビッグ オブジェクトでは呼び出されません。このオブジェクトを単にキャッシュに入れる以外の場所に登録する必要がありますか?

ありがとう

4

1 に答える 1

1

Infinispan 内の構造であるAtomicHashMapを単純に使用する方がよいでしょう。これにより、一連のキーと値のペアを単一の値としてグループ化できます。この AtomicHashMap は DeltaAware インターフェイスを実装しているため、Infinispan はこの AtomicHashMap の変更を検出できます。AHM は DeltaAware よりも上位の構造であり、おそらくあなたに適したものです。

AtomicHashMap が使用される例を挙げると、各セッション ID が AtomicHashMap にマップされる JBoss AS7 HTTP セッション レプリケーションで頻繁に使用されます。これは、個々のセッション データがいつ変更されたかを検出し、それのみをレプリケートできることを意味します。

乾杯、ガルダー

于 2012-04-11T13:23:31.643 に答える