134.4. 매핑 캐시 소비자 - from("hazelcast-map:foo")

Hazelcast는 데이터 그리드에서 이벤트 리스너를 제공합니다. 캐시가 조작되는 경우 알림을 받으려면 맵 소비자를 사용할 수 있습니다. 4개의 이벤트가 있습니다. put,update,deleteenvict 가 있습니다. 이벤트 유형은 "hazelcast.listener.action" 헤더 변수에 저장됩니다. 지도 소비자는 이러한 변수 내에서 몇 가지 추가 정보를 제공합니다.

응답 메시지의 헤더 변수:

이름유형설명

CamelHazelcastListenerTime

long

이벤트 발생 시

CamelHazelcastListenerType

문자열

여기서 "cachelistener"의 맵 소비자 세트

CamelHazelcastListenerAction

문자열

이벤트 유형 - 여기에 추가,업데이트 , 환경 및 제거.

CamelHazelcastObjectId

문자열

개체의oid입니다.Theoid of the object.

CamelHazelcastCacheName

문자열

캐시 이름 - 예: "foo"

CamelHazelcastCacheType

문자열

캐시의 유형 - 여기에 맵

오브젝트 값은 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!");