SpringBoot--整合RabbitMq
2017-11-19 15:10
573 查看
1 Spring Boot对RabbitMQ的使用做了自动配置,更加的简化了我们的使用。
添加依赖:
在application.properties文件中配置RabbitMQ的连接信息:
会自动创建连接org.springframework.amqp.rabbit.connection.ConnectionFactory对象。
注入到想要的位置。
添加依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
在application.properties文件中配置RabbitMQ的连接信息:
spring.rabbitmq.host=127.0.0.1 spring.rabbitmq.port=5672 spring.rabbitmq.username=tangtang spring.rabbitmq.password=123123 spring.rabbitmq.virtual-host=/tang
会自动创建连接org.springframework.amqp.rabbit.connection.ConnectionFactory对象。
注入到想要的位置。
/** * RabbitMq配置中心,由SpringBoot提供的相关包自动整合 * * @author Tang 2017年11月19日 */ @Configuration @PropertySource(value = "classpath:rabbitmq.properties") public class RabbitMqConfig { private final String QUEUE_NAME = "RABBITMQ-TEXT-QUEUE"; /** * 在全局配置中按要求配置,会自动将连接注入到这里 */ @Autowired private ConnectionFactory connectionFactory; // 管理 @Bean public RabbitAdmin rabbitAdmin() { return new RabbitAdmin(connectionFactory); } // 声明队列 @Bean public Queue rabbitTextQueue() { // 默认就是自动声明的 return new Queue(QUEUE_NAME, true); } /** * 配置监听连接 */ @Bean(name = "rabbitListenerContainerFactory") public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory( ConnectionFactory connectionFactory, RabbitProperties config) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); RabbitProperties.Listener listenerConfig = config.getListener(); factory.setAutoStartup(listenerConfig.isAutoStartup()); if (listenerConfig.getAcknowledgeMode() != null) { factory.setAcknowledgeMode(listenerConfig.getAcknowledgeMode()); } if (listenerConfig.getConcurrency() != null) { factory.setConcurrentConsumers(listenerConfig.getConcurrency()); } if (listenerConfig.getMaxConcurrency() != null) { factory.setMaxConcurrentConsumers(listenerConfig .getMaxConcurrency()); } if (listenerConfig.getPrefetch() != null) { factory.setPrefetchCount(listenerConfig.getPrefetch()); } if (listenerConfig.getTransactionSize() != null) { factory.setTxSize(listenerConfig.getTransactionSize()); } return factory; } /** * 具体监听队列及使用配置 * * @param message * @throws Exception */ @RabbitListener(queues = QUEUE_NAME, containerFactory = "rabbitListenerContainerFactory") public void handleMessage(String message) throws Exception { // 具体处理 } }
相关文章推荐
- SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ
- springboot和rabbitmq的整合
- SpringBoot整合RabbitMQ案例
- Springboot整合RabbitMQ,良心推荐
- 快速搭建springboot框架以及整合ssm+shiro+安装Rabbitmq和Erlang、Mysql下载与配置
- spring-boot整合rabbitmq启动报错no queue 'dev_pms2invoi_queue' in vhost '/'
- 【推荐】springboot学习笔记-6 springboot整合RabbitMQ
- SpringBoot系列八:SpringBoot整合消息服务(SpringBoot 整合 ActiveMQ、SpringBoot 整合 RabbitMQ、SpringBoot 整合 Kafka)
- 集群与负载均衡系列(5)——消息队列之spring-boot整合Rabbitmq
- Spring-Boot整合RabbitMQ
- spring boot实战(第十二篇)整合RabbitMQ
- spring boot实战(第十四篇)整合RabbitMQ源码分析前言
- RabbitMQ 实战(二)Spring Boot 整合 RabbitMQ
- spring boot整合RabbitMQ(Direct模式)
- Spring Boot整合RabbitMQ实例(Topic模式)
- SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ
- Springboot整合RabbitMQ--初学者探路者
- spring boot整合RabbitMQ实例详解(Fanout模式)
- Rabbitmq 整合Spring,SpringBoot与Docker
- SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ