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!");