搜索

首页  >  问答  >  正文

无法使用自定义名称成功将 RabbitMQ 消息发布到队列

我想将rabbitMQ消息发布到名为“vincent.test.rabbitMq”的队列。我正在尝试使用 Symfony-messenger 来做到这一点。 这是我的消息:

class TestMessage
{
    private string $value;

    /**
     * @param string $value
     */
    public function __construct(string $value)
    {
        $this->value = $value;
    }

    /**
     * @return string
     */
    public function getValue(): string
    {
        return $this->value;
    }

    /**
     * @param string $value
     */
    public function setValue(string $value): void
    {
        $this->value = $value;
    }


}

这是我的Messenger.yaml:

framework:
    messenger:

        transports:
            vincent.test.rabbitMq: '%env(RABBITMQ_URL)%'

        routing:
            'App\TestRabbitMQ\TestMessage': vincent.test.rabbitMq

但是当我发布这样的消息时: $this->bus->dispatch(new TestMessage("testmessage123")); 它将创建一个名为 messages 的队列。如果我用另一个名称发布另一条消息它也会进入这个队列。我想要的是每个消息都有一个单独的队列。

P粉302484366P粉302484366250 天前443

全部回复(1)我来回复

  • P粉448346289

    P粉4483462892024-03-27 17:23:03

    我找到了答案。您只需将队列名称添加到 RABBITMQ_URL 即可。

    URL = amqp://guest:guest@localhost:5672/"vhost"/"queuename"

    回复
    0
  • 取消回复