135.4. マップキャッシュコンシューマー - from ("hazelcast-map:foo")
Hazelcast は、データグリッドでイベントリスナーを提供します。キャッシュが操作される場合に通知を受け取りたい場合は、マップコンシューマーを使用できます。4 つのイベントがあります: put、update、delete、および envict です。イベントタイプは、hazelcast.listener.action ヘッダー変数に格納されます。マップコンシューマーは、これらの変数内にいくつかの追加情報を提供します。
レスポンスメッセージ内のヘッダー変数:
名前 | タイプ | 説明 |
---|---|---|
|
| イベントの時間 (ミリ秒) |
|
| マップのコンシューマーがここで設定する cachelistener |
|
| イベントのタイプ - ここでは、追加、更新、削除、削除 を行います。 |
|
| オブジェクトの oid |
|
| キャッシュの名前 - 例: foo |
|
| キャッシュのタイプ - here map |
オブジェクト値は、メッセージボディー内の put および update アクション内に格納されます。
サンプルは次のとおりです。
fromF("hazelcast-%sfoo", HazelcastConstants.MAP_PREFIX) .log("object...") .choice() .when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ADDED)) .log("...added") .to("mock:added") .when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ENVICTED)) .log("...envicted") .to("mock:envicted") .when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.UPDATED)) .log("...updated") .to("mock:updated") .when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.REMOVED)) .log("...removed") .to("mock:removed") .otherwise() .log("fail!");