我正在尝试阅读并理解 RabbitMQ Java 客户端中的 3 个基本方法:
这些方法有几个晦涩难懂的参数,尽管 Javadocs 确实提供了关于它们是什么的一些解释,但对于这些参数的作用并没有真正说清楚/显而易见:
channel #basicConsume
- consumerTag - 用于建立上下文的客户端生成的消费者标签
- noLocal - 如果服务器不应将发布在该 channel 连接上的消费者消息传递给该消费者,则为真
- exclusive - 如果这是独家消费者则为真
- arguments - 一组针对消费者的论据
channel #basicPublish
- exchangeName - 将消息发布到的交易所
- routingKey - 路由键
DefaultConsumer#handleDelivery
- envelope - 消息的包装数据
这些方法以及正确使用它们对于以最简单的形式使用 RabbitMQ 至关重要(基本发布和消费消息进出队列)。在我理解这些参数是什么 - 以及它们在服务器端暗示/做什么之前 - 我被困住了并且不确定如何继续使用该库。
一些厌倦了战斗的 RabbitMQ 老手可以帮助像我这样的新手理解这 7 个方法参数,以及它们的用途吗? Javadoc 的解释还不够清楚。例如:“参数——消费者的一组参数”。什么?!?!或者:“排他性 - 如果这是排他性消费者,则为真”...什么是排他性消费者?!?!等等。提前致谢!
最佳答案
点击以下两个链接:-
https://www.rabbitmq.com/ttl.html
http://www.rabbitmq.com/amqp-0-9-1-quickref.html
Java 创建一个队列,消息最多可以在其中驻留 60 秒:
Map<String, Object> args = new HashMap<String, Object>();
args.put("x-message-ttl", 60000);
channel.queueDeclare("myqueue", false, false, false, args);
关于java - 关键的 RabbitMQ 方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18531969/