126.3. map cache consumer - from("hazelcast-map:foo")
Hazelcast は、データ収集でイベントリスナーを提供します。キャッシュが操作される際に通知する場合には、マップコンシューマーを使用できます。4 つのイベントがあります 。、update、delete、および envict です。イベントタイプは、hazelcast.listener.action" ヘッダー変数に保存されます。マップコンシューマーは、これらの変数内にいくつかの追加情報を提供します。
レスポンスメッセージ内のヘッダー変数:
Name | タイプ | 説明 |
---|---|---|
|
| イベントの時間(ミリ秒単位) |
|
| マップコンシューマーは「cachelistener」に設定します。 |
|
| イベントのタイプ: ここでは、が 追加 され、更新 され、envicted、および removed が削除されます。 |
|
| オブジェクトの oid |
|
| キャッシュの名前 - 例:「foo」 |
|
| キャッシュのタイプ(ここではマップ) |
オブジェクト値は、メッセージボディー内で 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!");
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!");