由于最近在鼓捣SpringBoot,需要整合RabbitMQ,抽出时间看了下Spring AMQP,下面就简单记录一下,基本的概念介绍,请大家移步别的帖子,我这里就捞些干的说。
在这里,关于项目的自建对象包路径已删除,有注意的地方会罗列出来。
发布者配置
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitMessagingTemplate;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
@Configuration
public class RabbitMQProducerConfiguration {
@Bean
RabbitAdmin rabbitAdmin(ConnectionFactory connectionFactory) {
return new RabbitAdmin(connectionFactory);
}
@Bean
Queue queue(RabbitAdmin rabbitAdmin) {
Queue queue = new Queue(RabbitMQConsants.QUEUE_NAME, true);
rabbitAdmin.declareQueue(queue);
return queue;
}
@Bean
Queue ackQueue(RabbitAdmin rabbitAdmin) {
Queue queue = new Queue(RabbitMQConsants.ACK_QUEUE_NAME, true);
rabbitAdmin.declareQueue(queue);
return queue;
}
@Bean
TopicExchange exchange(RabbitAdmin rabbitAdmin) {
TopicExchange topicExchange = new TopicExchange(RabbitMQConsants.TOPIC_EXCHANGE_NAME);
rabbitAdmin.declareExchange(topicExchange);
return topicExchange;
}
@Bean
Binding bindingExchange(Queue queue, TopicExchange exchange, RabbitAdmin rabbitAdmin) {
Binding binding = BindingBuilder.bind(queue).to(exchange).with(RabbitMQConsants.QUEUE_NAME);
rabbitAdmin.declareBinding(binding);
return binding;
}
@Bean
Binding bindingExchangeAck(Queue ackQueue, TopicExchange exchange, RabbitAdmin rabbitAdmin) {
Binding binding = BindingBuilder.bind(ackQueue).to(exchange).with(RabbitMQConsants.ACK_QUEUE_NAME);
rabbitAdmin.declareBinding(binding);
return binding;

本文介绍了如何在Spring Boot项目中整合Spring AMQP,以实现与RabbitMQ的交互。通过创建RabbitAdmin、Queue、TopicExchange、Binding等配置,展示了发布者和订阅者的配置方法。同时,文章提到了使用RabbitMessagingTemplate进行消息发送,以及手动消息确认的机制。
最低0.47元/天 解锁文章
1199

被折叠的 条评论
为什么被折叠?



