我有一个 bean,它产生对象并使用 Camel 中的 ProducerTemplate 将它们发送到 SEDA 队列。
我发送一个正文和一个标题:
producerTemp.sendBodyAndHeader(document, "sourceSystem", sourceSys);
这里的标头名称sourceSystem
和标头对象值是一个 ENUM ( sourceSys
),其中包含document
包含许多不同属性的对象的源。
我想以并发方式从 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");
..?