java - 关键的 RabbitMQ 方法参数

标签 java rabbitmq messaging publish-subscribe amqp

我正在尝试阅读并理解 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/

相关文章:

java - OnKeyListener() 没有执行

java - 在二叉搜索树中查找 K 个最大元素

java - 如何设置系统属性来测试对比安全插件

events - 消息驱动与事件驱动的应用程序集成方法

redis - 通过 ServiceStack/Redis MQ 对 "delayed execution"消息进行排队的推荐方法是什么?

java - HH :MM format 中使用 java 的总时间

java - RabbitMQ Stomp 通过 websocket : Unable to retrieve queued messages

queue - 是否可以确保在Rabbitmq队列中存在唯一消息?

PHPUnit RabbitMQ : write test for create connection function

messaging - 逻辑时钟 : Lamport Timestamps