1

クラスターで hazelcast -2.5 を使用しています。マップがあります (キー: 文字列、値: ユーザー定義オブジェクトの ArrayList)。ほとんどの場所で問題なく配置/削除できますが、コードの特定の部分で、配置操作がサイレントに失敗します (配置操作に使用されるキー文字列は一意であり、ArrayList も空ではありません)。例外はスローされません。ロックが関係している場合に備えて、tryPut を試してみたところ、その呼び出しで真の戻り値が得られました。put 操作の直後に、マップの keySet を出力しようとしましたが、挿入したばかりのキーが表示されません。マップのサイズも変更されていません (まだ、tryPut は true の戻り値を返しました。キーに使用している文字列は一意です-キーのバイナリ形式も一意であることを願っています)。キーのバイナリ形式が一意でない場合、

boolean putVal = testMap.tryPut(this.testObj.UUID, testEntity, timeout, TimeUnit.MILLISECONDS);   //timeout is 2000L or 2 seconds in this case

これをトラブルシューティングしたり、キーのバイナリ形式が問題を引き起こしているかどうかを判断したりすることについての考えをいただければ幸いです。

ありがとう

4

1 に答える 1

2

ゲットしてみてください。そして、そのキーに関連付けられた値があるかどうかを確認します。そうでない場合、プットは成功するはずです。

于 2013-03-28T19:30:56.113 に答える