RabbitMQ进行持久化:要防止rabbitmq丢失消息,就需要对交换机、队列和消息进行持久化。
1.对交换机进行持久化以及参数详解:(这里使用的是主题交换机,其他交换机参数一样)
//TopicExchange 的参数如下:
//name:交换机的名称;
//durable:是否持久化,即服务器重启时是否仍然存在;
//autoDelete:是否自动删除,即当没有队列或者交换机绑定到该交换机时,是否自动删除该交换机;
//internal:是否是内部交换机,即不允许通过客户端发送消息到该交换机;
//arguments:用于交换机的其他属性设置。
@Bean
public TopicExchange topicExchange() {
return new TopicExchange("topic",true,false);
}
public class DirectExchange extends AbstractExchange {
/**
* The default exchange.
*/
public static final DirectExchange DEFAULT = new DirectExchange("");
public DirectExchange(String name) {
super(name);
}
public DirectExchange(String name, boolean durable, boolean autoDelete) {
super(name, durable, aut