无法按优先顺序获取消息Spring camel rabbitmq

时间:2017-06-16 06:39:40

标签: spring rabbitmq apache-camel amqp

我是使用spring camel rabbitmq的初学者。

我可以通过在生产者端设置交换出头来设置邮件头中的邮件优先级,如下所示:

exchange.getOut().setHeader("rabbitmq.PRIORITY", 1);

但是在消费消息时他们没有优先顺序。帮助!!

我可以在rabbitmq的网络界面中看到适当设置的优先级标头

2 个答案:

答案 0 :(得分:1)

请仔细阅读this document的“与消费者互动”部分。您还应该在RabbitMQ Users List上搜索答案,或者在没有被问到的情况下在那里发帖。

答案 1 :(得分:0)

得到了这个问题。 问题是我无法使用camel端点设置 x-max-priority 。 需要在队列中的 queueArgsConfigurer 选项中添加它。 为此,我们需要像这样实现ArgsConfigurer接口:

@Component(value="QueueArgsConfigurer")
public class QueueArgsConfigurer implements ArgsConfigurer {
@Override
public void configurArgs(Map<String, Object> map) {
    map.put("x-max-priority", 3);
}

}

并添加到队列端点queueArgsConfigurer选项,如下所示:     queueArgsConfigurer =#QueueArgsConfigurer 由于我使用的是spring,因此我可以通过其bean名称获取QueueArgsConfigurer。