Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java apachecamel:保留过滤消息_Java_Routing_Apache Camel - Fatal编程技术网

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头,我可以使用。。。