无法将 RabbitMQ 消息发布到具有自己名称的队列
Can't publish RabbitMQ message to queue with own name
我想将 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"));
它将创建一个名为消息的队列。如果我用另一个名字发布另一个消息它也会进入这个队列。我想要的是每条消息都有一个单独的队列。
我找到了答案。您可以将 queue-name 添加到 RABBITMQ_URL。
URL = amqp://guest:guest@localhost:5672/"vhost"/"queuename"
我想将 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"));
它将创建一个名为消息的队列。如果我用另一个名字发布另一个消息它也会进入这个队列。我想要的是每条消息都有一个单独的队列。
我找到了答案。您可以将 queue-name 添加到 RABBITMQ_URL。
URL = amqp://guest:guest@localhost:5672/"vhost"/"queuename"