137.4. 复制映射缓存使用者

对于多映射缓存,该组件提供与映射缓存消费者相同的监听器/变量(更新和信项监听程序除外)。唯一的区别是 URI 中的 多映射 前缀。下面是一个示例:

fromF("hazelcast-%sbar", HazelcastConstants.MULTIMAP_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.REMOVED))
                .log("...removed")
                .to("mock:removed")
        .otherwise()
                .log("fail!");

响应消息中的标头变量:

Name类型描述

CamelHazelcastListenerTime

Long

millis 事件的时间

CamelHazelcastListenerType

字符串

映射消费者设置这里"cachelistener"

CamelHazelcastListenerAction

字符串

事件类型 - 这里 添加或删除 (并很快 被确认

CamelHazelcastObjectId

字符串

对象的 oid

CamelHazelcastCacheName

字符串

缓存的名称 - 例如 "foo"

CamelHazelcastCacheType

字符串

缓存的类型 - here 复制映射