@Slf4j
@Configuration
public class AmqpRabbitConfig {
private ConnectionFactory connectionFactory;
@Autowired
public AmqpRabbitConfig(ConnectionFactory connectionFactory) {
this.connectionFactory = connectionFactory;
}
//调用模板配置
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public RabbitTemplate rabbitTemplate() {
RabbitTemplate template = new RabbitTemplate(connectionFactory);
return template;
}
/**
* 针对消费者配置
* FanoutExchange: 将消息分发到所有的绑定队列,无routingkey的概念
* HeadersExchange :通过添加属性key-value匹配
* DirectExchange:按照routingkey分发到指定队列
* TopicExchange:多关键字匹配
*/
@Bean
public DirectExchange defaultExchange() {
return new DirectExchange(RabbitExchange.SANDU_CLOUD_SEARCH);
}
//队列配置
@Bean
public Queue queue() {
//队列持久配置true
return new Queue(RabbitQueue.SANDU_CLOUD_SEARCH, true);
}
//绑定同城联盟交换器
@Bean
public Binding binding() {
return BindingBuilder.bind(queue()).to(defaultExchange()).with(RabbitRoutingKey.SANDU_CLOUD_SEARCH);
}
}
springboot集成消息队列配置
最新推荐文章于 2025-10-13 23:47:50 发布
本文介绍了一个基于Spring Boot的RabbitMQ配置示例,包括连接工厂设置、RabbitTemplate的创建、Direct Exchange的定义、队列配置及绑定等关键步骤。
640

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



