Java apachecamel:保留过滤消息
假设我有一个队列,其中包含消息Java apachecamel:保留过滤消息,java,routing,apache-camel,Java,Routing,Apache Camel,假设我有一个队列,其中包含消息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"); 这类事情似乎是一种相当普遍的模式?人们通常是
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");
这类事情似乎是一种相当普遍的模式?人们通常是如何做这类事情的?我认为这是一个比过滤器更好的选择
from("jms:queue:from")
.choice()
.when(header("head").isEqualTo("B")).to("log:com.acme?level=INFO")
.otherwise().to("jms:queue:from")
.end()
如果我能够控制JMS头,我可以使用。。。