134.4. Map cache consumer - from("hazelcast-map:foo")
Hazelcast 在其数据网格上提供事件监听程序。如果要操作缓存,如果要通知缓存,您可以使用映射使用者。共有 4 个事件: 放置、更新、删除 和 envict。事件类型将存储在"hazelcast.listener.action" header 变量中。映射使用者在这些变量中提供一些额外信息:
响应消息中的标头变量:
Name | 类型 | 描述 |
---|---|---|
|
| millis 事件的时间 |
|
| 映射消费者设置这里"cachelistener" |
|
| 事件类型 - 此处 添加了、update、envicted 并删除。 |
|
| 对象的 oid |
|
| 缓存的名称 - 例如 "foo" |
|
| 缓存的类型 - 此处映射 |
对象值将存储在 消息正文 中的放置和更新 操作中。
例如:
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!");