数据持久化

2019-07-31  本文已影响0人  指尖架构141319

1.必备条件

2.原生实现方式

交换器持久化:

// 参数1 exchange :交换器名  
// 参数2 type :交换器类型  
// 参数3 durable :是否持久化  
channel.exchangeDeclare(EXCHANGE_NAME, "topic", true); 

队列持久化:

// 参数1 queue :队列名  
// 参数2 durable :是否持久化  
// 参数3 exclusive :仅创建者可以使用的私有队列,断开后自动删除  
// 参数4 autoDelete : 当所有消费客户端连接断开后,是否自动删除队列  
// 参数5 arguments  
channel.queueDeclare(QUEUE_NAME, true, false, false, null);  

消息队列:

// 参数1 exchange :交换器  
// 参数2 routingKey : 路由键  
// 参数3 props : 消息的其他参数,其中 MessageProperties.PERSISTENT_TEXT_PLAIN 表示持久化  
// 参数4 body : 消息体  
channel.basicPublish("", queue_name, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes());  

3.springboot实现方式

配置文件中:
交换器持久化:

// 参数1 name :交互器名  
// 参数2 durable :是否持久化  
// 参数3 autoDelete :当所有消费客户端连接断开后,是否自动删除队列  
new TopicExchange(name, durable, autoDelete)  

队列持久化:

// 参数1 name :队列名  
// 参数2 durable :是否持久化  
// 参数3 exclusive :仅创建者可以使用的私有队列,断开后自动删除  
// 参数4 autoDelete : 当所有消费客户端连接断开后,是否自动删除队列  
new Queue(name, durable, exclusive, autoDelete); 

注:
springboot中不需要配置消息持久化

上一篇 下一篇

猜你喜欢

热点阅读