如何根据消息 header 属性 仅读取特定的 queue 消息
how to read only specific queue messages based on message header property
我在 activemq queue 中有一个消息列表。每条消息都有一个自定义 header 属性 值。我应该如何才能只访问那些自定义 header 属性 值 = 123.?
的消息
我正在使用类似下面的方法从 queue 中挑选一条消息。如何选择 customHeaderProperty =123.?
的所有消息或单个消息
ConsumerTemplate consumerTemplate = camelContext.createConsumerTemplate();
Exchange ex = consumerTemplate.receive("activemq:queueName",10000);
String data = ex.getIn().getBody(String.class);
String number = ex.getIn().getHeader("customProperty", String.class);
对消费者使用消息选择器。选择器是一个类似于 SQL 的查询。所以你可以写类似 myCustomHeader = 123
的东西。这是一个pretty good cheat sheet.
由于您使用 apache-camel 标记了问题,我猜您正在使用 Camel 设置。在这种情况下,您需要向 Camel 提供选择器。类似于 from("activemq:queue:myqueue?selector=myCustomHeader%3D123").
.
我在 activemq queue 中有一个消息列表。每条消息都有一个自定义 header 属性 值。我应该如何才能只访问那些自定义 header 属性 值 = 123.?
的消息我正在使用类似下面的方法从 queue 中挑选一条消息。如何选择 customHeaderProperty =123.?
的所有消息或单个消息ConsumerTemplate consumerTemplate = camelContext.createConsumerTemplate();
Exchange ex = consumerTemplate.receive("activemq:queueName",10000);
String data = ex.getIn().getBody(String.class);
String number = ex.getIn().getHeader("customProperty", String.class);
对消费者使用消息选择器。选择器是一个类似于 SQL 的查询。所以你可以写类似 myCustomHeader = 123
的东西。这是一个pretty good cheat sheet.
由于您使用 apache-camel 标记了问题,我猜您正在使用 Camel 设置。在这种情况下,您需要向 Camel 提供选择器。类似于 from("activemq:queue:myqueue?selector=myCustomHeader%3D123").
.