3.7. 戻り値の強制
不必要にデータを送信しないようにするために、リモートキャッシュでの書き込み操作は、以前の値ではなく null を返します。
たとえば、以下のメソッド呼び出しでは、キーに対する以前の値は返されません。
V remove(Object key); V put(K key, V value);
V remove(Object key);
V put(K key, V value);
ただし、デフォルトの動作を変更して、呼び出しがキーの以前の値を返すようにすることができます。
手順
- 次のいずれかの方法で、メソッド呼び出しがキーの以前の値を返すように Hot Rod クライアントを設定します。
FORCE_RETURN_VALUE フラグ
cache.withFlags(Flag.FORCE_RETURN_VALUE).put("aKey", "newValue")
cache.withFlags(Flag.FORCE_RETURN_VALUE).put("aKey", "newValue")
キャッシュごと
ConfigurationBuilder builder = new ConfigurationBuilder();
// Return previous values for keys for invocations for a specific cache.
builder.remoteCache("mycache")
.forceReturnValues(true);
ConfigurationBuilder builder = new ConfigurationBuilder();
// Return previous values for keys for invocations for a specific cache.
builder.remoteCache("mycache")
.forceReturnValues(true);
hotrod-client.properties
# Use the "*" wildcard in the cache name to return previous values # for all caches that start with the "somecaches" string. infinispan.client.hotrod.cache.somecaches*.force_return_values = true
# Use the "*" wildcard in the cache name to return previous values
# for all caches that start with the "somecaches" string.
infinispan.client.hotrod.cache.somecaches*.force_return_values = true