rabbit提供了路由和队列的持久化,这样就更加安全的进行了数据的交互,不会因为服务器的问题导致一些没有收到的消息被清除。
路由和队列的持久化操作非常简单,rabbit给路由和队列提供了一个属性,durable,这个属性为true的时候即持久化保存。
可以在申明队列或者路由的时候设置这个属性。
例如:
@Bean(name ="queueMessages")
public Queue messagesQueue(){
//new Queue(name,durable)durable 为持久化参数
return new Queue(TopicRabbitConfig.messages,true);
}
路由也是一样,例如topic的路由
TopicExchange(String name,boolean durable,boolean autoDelete)
这个构造方法中就包含了持久化的设置。
autoDelete的意思是:如果为true的话,那么没有消费者订阅的队列,会被自动删除。
网友评论