rabbitmq服务器或集群重新启动后,所有队列都恢复了所有消息,甚至消息已被确认(从rabbitmq服务器启动时开始),然后再次处理所有消息。
队列详细信息
据我了解,在消息参数中将persistenet
设置为false,如果代理重新启动,消息将无法生存。另外,我已将队列的durabele
设置为false。
我还错过了其他设置吗?
答案 0 :(得分:0)
使消息持久化为真是可以的,因为您不希望在Rabbitmq重新启动时丢失消息。其次,还可以使队列具有持久性,这样就可以避免在Rabbitmq重新启动时丢失队列。我建议您检查消息使用者代码,因为它看起来好像没有提交事务,从而使消息在队列中可用。您可以做的是在使用完消息之后,请停止使用程序,并在RabbitMQ上检查消息是否仍然在队列中。如果在停止使用方之后消息仍在队列中可用,那么在使用方代码上必定存在一些问题。