У меня есть бин, который создает объекты и отправляет их в очередь SEDA, используя ProducerTemplate в Camel.
Отправляю тело и заголовок:
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");
..