SpringBoot intègre RabbitMQ
1. Description
Nous devons nous assurer que les commutateurs, les files d'attente et les messages sont persistants, sinon ils seront perdus au redémarrage de MQ ou dans d'autres cas, à moins que vous ne pensiez que le message à envoyer n'est vraiment pas important, même s'il est perdu, cela n'a pas d'importance .
2. Changer la persistance
Cliquez pour afficher le code source du switch créé, le switch est persistant par défaut
La première façon de créer
J'ai déjà mentionné plusieurs types de commutateurs, permettez-moi de prendre comme exemple les commutateurs de type fanout.
//定义持久化交换机
@Bean
public FanoutExchange fanoutExchange() {
//第三个参数就是持久化的意思
return new FanoutExchange("fanout.exchange",true,false);
}
La deuxième façon de créer
//定义direct类型交换机
@Bean
public DirectExchange directExchange() {
return ExchangeBuilder.directExchange("direct.exchange").build();
}
3. Persistance de la file d'attente
La première façon de créer
//定义持久化队列
@Bean
public Queue directQueue1() {
//第二个参数就是持久化的意思
return new Queue("direct.queue1",true,false,false);
}
La deuxième façon de créer
//定义持久化队列
@Bean
public Queue topicQueue1(){
return QueueBuilder.durable("topic.queue1").build();
}
4. Persistance des messages
//消息持久化
Message message = MessageBuilder
.withBody("你好".getBytes())
//设置为持久化消息
.setDeliveryMode(MessageDeliveryMode.PERSISTENT)
.build();
rabbitTemplate.convertAndSend("fanout.exchange", "", message, correlationData);