Ich möchte RabbitMQ-Nachrichten in einer Warteschlange namens „vincent.test.rabbitMq“ veröffentlichen. Ich versuche, dazu den Symfony-Messenger zu verwenden. Das ist meine Nachricht:
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; } }
Das ist mein Messenger.yaml:
framework: messenger: transports: vincent.test.rabbitMq: '%env(RABBITMQ_URL)%' routing: 'App\TestRabbitMQ\TestMessage': vincent.test.rabbitMq
Aber wenn ich so etwas poste:
$this->bus->dispatch(new TestMessage("testmessage123"));
Es wird eine Warteschlange namens Nachrichten erstellt. Wenn ich eine weitere Nachricht mit einem anderen Namen poste, gelangt sie ebenfalls in diese Warteschlange. Ich möchte für jede Nachricht eine separate Warteschlange haben.
我找到了答案。您只需将队列名称添加到 RABBITMQ_URL 即可。
URL = amqp://guest:guest@localhost:5672/"vhost"/"queuename"