我是RabbitMQ的新手.
我已经建立了一个'主题'交换.消费者可以在发布者之后开始.我希望消费者能够接收在他们启动之前已经发送的消息,而这些消息还没有被消费.
交换使用以下参数设置:
exchange_type => 'topic'
durable => 1
auto_delete => 0
passive => 0
Run Code Online (Sandbox Code Playgroud)
使用此参数发布消息:
delivery_mode => 2
Run Code Online (Sandbox Code Playgroud)
消费者使用get()从交换中检索消息.
不幸的是,任何客户端启动之前发布的任何消息都将丢失.我使用了不同的组合.
我想我的问题是交换机没有保留消息.也许我需要在发布者和队列之间有一个队列.但这似乎不适用于通过密钥路由消息的"主题"交换.
知道我该怎么做.我使用Perl绑定Net :: RabbitMQ(应该无关紧要)和RabbitMQ 2.2.0.