134.4. 매핑 캐시 소비자 - from("hazelcast-map:foo")
Hazelcast는 데이터 그리드에서 이벤트 리스너를 제공합니다. 캐시가 조작되는 경우 알림을 받으려면 맵 소비자를 사용할 수 있습니다. 4개의 이벤트가 있습니다. put,update,delete 및 envict 가 있습니다. 이벤트 유형은 "hazelcast.listener.action" 헤더 변수에 저장됩니다. 지도 소비자는 이러한 변수 내에서 몇 가지 추가 정보를 제공합니다.
응답 메시지의 헤더 변수:
| 이름 | 유형 | 설명 |
|---|---|---|
|
|
| 이벤트 발생 시 |
|
|
| 여기서 "cachelistener"의 맵 소비자 세트 |
|
|
| 이벤트 유형 - 여기에 추가,업데이트 , 환경 및 제거. |
|
|
| 개체의oid입니다.Theoid of the object. |
|
|
| 캐시 이름 - 예: "foo" |
|
|
| 캐시의 유형 - 여기에 맵 |
오브젝트 값은 put 내에 저장되고 메시지 본문 내에 작업을 업데이트 합니다.
샘플은 다음과 같습니다.
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!");