假设我有一个包含消息A
,A
,B
,A
,B
,A
的队列。我想记录+删除所有B
条消息,但我希望保持所有A
条消息不受影响。所以基本上我需要某种类型的忽略功能,而不是丢弃过滤器。
如果没有,我可能需要做类似的事情:
from("jms:queue:from")
.filter(header("head").isEqualTo("B")).to("log:com.acme?level=INFO").end()
.to("jms:queue:from");
这类事情似乎是一种相当普遍的模式?人们通常如何做这类事情?
答案 0 :(得分:1)
我认为choice是比过滤器更好的选择
from("jms:queue:from")
.choice()
.when(header("head").isEqualTo("B")).to("log:com.acme?level=INFO")
.otherwise().to("jms:queue:from")
.end()