【问题标题】:AMQP (Qpid) one to many queueAMQP (Qpid) 一对多队列
【发布时间】:2012-12-13 17:40:44
【问题描述】:

我有一个生产者、一个队列和 N 个消费者。生产者创建由消费者执行的“工作”。我想使用拉模型,其中消费者从队列中拉出作业,当它完成前一个作业时,而不是循环推送模型,其中作业被等于消费者。

我的消费者使用相同的代码,但是当我运行它时,第一个连接并接收所有作业。即使在调试中查看它,第一个得到所有信息,但第二个 etc 没有收到任何消息(即使它在第一个执行接收之前执行接收,这会返回一些作业)。

连接网址:“amqp://guest:guest@prodconstest/?brokerlist='tcp://127.0.0.1:5767'”

每个消费者的代码:

  1. 创建 AMQConnection
  2. 使用自动确认创建队列会话
  3. 连接开始
  4. 创建队列"ADDR:" + queueName + "; {create: always, link:{x-subscribes: {exclusive: false}}}"
  5. 创建消费者

使用 AMQP 队列理论上可以实现吗?如果有,怎么做?

【问题讨论】:

    标签: java message-queue amqp qpid


    【解决方案1】:

    看来我必须更改连接 URL 中的maxprefetch 参数。默认值 5000 对于我的用例来说太大了,将其更改为 1 可以使该系统正常工作。

    【讨论】:

      猜你喜欢
      • 2013-09-10
      • 2018-10-28
      • 2014-03-15
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 2018-10-08
      • 1970-01-01
      • 2018-03-30
      相关资源
      最近更新 更多