我有一個bean產生對象並使用Camel中的ProducerTemplate將它們發送到SEDA隊列。Camel Java DSL - 在頭部的ENUM路由 - 基於conent的路由器或動態路由器
我發送一本體及一標頭:
producerTemp.sendBodyAndHeader(document, "sourceSystem", sourceSys);
在這裏,標題名是sourceSystem
和標題對象值是一個ENUM(sourceSys
),其中包含document
對象的含有許多不同的充attribs的源。
我想從SEDA隊列中以併發的方式提取消息,並根據sourceSys枚舉的值將它們發送到不同的端點。
什麼是最有效的EIP在駱駝使用這個,沒有人有一個使用Java DSL的例子,我不知道如何測試Enum的價值?
我想我做這樣的事情:
from("seda:a")
.choice()
.when(header("foo").isEqualTo(SourceSysEnum.SYSTEM1))
.to("seda:b")
.when(header("foo").isEqualTo(SourceSysEnum.SYSTEM2))
.to("seda:c")
.otherwise()
.to("seda:d");
..?