我想尝试使用 MassTransit 的 RabbitMQ Streams。 目标是仅为队列的一个子集定义配置。
当使用代码配置消费者时,我设法添加了队列参数:
rabbitmqConfigurator.SetQueueArgument("x-queue-type", "stream");
它确实创建了预期的队列。
但是,命令是从另一个进程(不消耗)发送的,当我尝试发送命令时,应用程序挂起,我可以在 rabbitmq 上看到一条错误消息:
operation queue.declare caused a channel exception precondition_failed: inequivalent arg 'x-queue-type' for queue 'MyCommand' in vhost 'vhost_1': received 'classic' but current is 'stream'
我假设我还应该在生产者进程中定义队列参数,但我不知道该怎么做。