指定通过通道将消息发送给哪个消息队列
同一个通道可以向不同的队列发送消息的,如果你绑定的队列和发布消息的队列不一致也是可以的,这个才是真正的发布消息去具体的某一个队列:
如果队列没有持久化,就不会把这个消息队列保存在磁盘中,队列里面的消息也会丢失,所以当我们的RabbitMQ服务停止/重新启动时,会自动删除我们的队列:
刷新后,没有任何队列:
如果我们设置为true呢,发布一条消息:
重启rabbitmq后:
因为我们把队列持久化了,但是队列里面的消息并没有持久化,所以重启rabbitMQ服务后,队列里面的消息就会丢失,那我们如何既保证队列的持久化,也保证队列里面的消息的持久化呢:
我们要在发布消息时告诉RabbitMQ,要对发布的消息做持久化设置:
在RabbitMQ正常启动时,消息队列和队列里面的消息是在内存中的, RabbitMQ服务停止后,就会把队列和队列里的消息持久化到硬盘中,再次启动时,会把队列中的消息进行恢复