RocketMQ实战(2) springBoot整合RabbitMQ-- 使用rocketMQTemplate
在RocketMQ实战(1)中使用原生api进行了简单的操作,本节我们使用rocketMQTemplate简化相关操作,这也是开发过程中常用的,话不多讲,上才艺。
1.创建springBoot项目,并引入一下依赖
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
2.创建生产者项目,并作参数配置:
rocketmq:
nameServer: 127.0.0.1:9876
producer:
group: ${spring.application.name}
send-message-timeout: 300000 #发送时间超时时间
retry-times-when-send-async-failed: 0 #异步消息发送失败重试次数
retry-times-when-send-failed: 2 #消息发送失败后的最大重试次数
compress-message-body-threshold: 4096 #消息Body超过多大开始压缩(Consumer收到消息会自动解压缩),单位字节
max-message-size: 4194304 #消息最大容量
retry-next-server: true
至此我们便可以使用rocketMQTemplate
模拟发送消息代码:
@RestController
public class TestTemplateController {
@Autowired
RocketMQTemplate rocketMQTemplate;
//发送普通消息
@RequestMapping("/temSend")
public String send(String message){
rocketMQTemplate.convertAndSend("Test-Template-Topic",message+Math.random());
return "ok";
}
}
3.创建消费者项目,并作自动化配置
rocketmq:
nameServer: 127.0.0.1:9876 # 消费者只需要配置mq的server地址即可
下面就是创建消息监听:
@Component
@RocketMQMessageListener(consumerGroup = "testConsumer", topic = "Test-Template-Topic")
@Slf4j
public class TestMsgListener implements RocketMQListener {
@Override
public void onMessage(Object o) {
log.info("接收到消息:"+o+"----"+System.currentTimeMillis());
}
}
至此rocketmq-spring-boot-starter的整合完毕。
创作不易,点个赞吧,您的赞,是我继续创作的动力。
编程并不是一蹴而就的,每天都是新的革命,加油呀~