我是使用spring camel rabbitmq
的初学者。
我可以通过在生产者端设置交换出头来设置邮件头中的邮件优先级,如下所示:
exchange.getOut().setHeader("rabbitmq.PRIORITY", 1);
但是在消费消息时他们没有优先顺序。帮助!!
我可以在rabbitmq
的网络界面中看到适当设置的优先级标头
答案 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。