@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集成消息队列配置
最新推荐文章于 2024-06-25 09:36:56 发布