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