135.4. 캐시 소비자 매핑 - from("hazelcast-map:foo")
Hazelcast는 데이터 그리드에 이벤트 리스너를 제공합니다. 캐시가 조작되는 경우 알림을 받으려면 맵 소비자를 사용할 수 있습니다. 4개의 이벤트가 있습니다: put,update,delete, envict. 이벤트 유형은 "hazelcast.listener.action" 헤더 변수"에 저장됩니다. 맵 소비자는 다음 변수 내에 몇 가지 추가 정보를 제공합니다.
응답 메시지 내의 헤더 변수:
| 이름 | 유형 | 설명 |
|---|---|---|
|
|
| 이벤트 시간(밀리초) |
|
|
| map consumer sets here "cachelistener" |
|
|
| 이벤트 유형 - 여기에 추가,업데이트된,envicted 및 removed. |
|
|
| 오브젝트의 소행성 (oid of the object) |
|
|
| 캐시 이름 - 예: "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!");