Jms 使用activemq、来自队列的骆驼选择器选择特定的头消息
如何使用队列中的特定头消息。我正在使用camel-activemq routebuilder:Jms 使用activemq、来自队列的骆驼选择器选择特定的头消息,jms,apache-camel,activemq,custom-headers,Jms,Apache Camel,Activemq,Custom Headers,如何使用队列中的特定头消息。我正在使用camel-activemq routebuilder: ..... from("activemq:Q1"). .setHeader("myHeader",xpath(...)) .to("activemq:Q2") ..... 我试图使用另一个类中具有特定头的消息,比如 .... ConsumerTemplate consumerTemplate = camelContext.createConsumerTempl
.....
from("activemq:Q1").
.setHeader("myHeader",xpath(...))
.to("activemq:Q2")
.....
我试图使用另一个类中具有特定头的消息,比如
....
ConsumerTemplate consumerTemplate = camelContext.createConsumerTemplate();
Exchange exchange = consumerTemplate.receive("activemq:Q2",10000);
String body = exchange.getIn().getBody(String.class);
String customvalue = exchange.getIn().getHeader("myHeader", String.class);
.....
如何仅获取myHeader=123的消息?您可以使用JMS消息选择器。在骆驼消费者端点中,您可以使用
选择器
选项:
一长串的东西
Exchange exchange = consumerTemplate.receive("activemq:Q2?selector=myHeader",10000);
虽然我不记得标题的名称是否足够,或者您需要这样做
Exchange exchange = consumerTemplate.receive("activemq:Q2?selector=myHeader %3D '*'",10000);
其中%3D是
=
编码的。您可以使用JMS消息选择器。在骆驼消费者端点中,您可以使用选择器
选项:
一长串的东西
Exchange exchange = consumerTemplate.receive("activemq:Q2?selector=myHeader",10000);
虽然我不记得标题的名称是否足够,或者您需要这样做
Exchange exchange = consumerTemplate.receive("activemq:Q2?selector=myHeader %3D '*'",10000);
其中%3D是=
编码的