springboot初步整合rocketmq

102 阅读1分钟

添加依赖

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>

配置配置文件

#mq的nameserver地址
rocketmq:
  name-server: ***.***.***.***:9876

开发producer

@Autowired
private RocketMQTemplate rocketMQTemplate;
@Test
void producer(){
    rocketMQTemplate.syncSend("topic1", "hello-spring boot-rocketmq");
    System.out.println("消息发送完毕");
}

直接使用RocketMQTemplate就可以进行消息发送;
常用的发送方法有:

  1. 普通消息:sendAndReceive【只负责发送消息,其他都不管】
  2. 同步消息:syncSend【发送消息,只有消息发送结束后才往下走】
  3. 异步消息:asyncSend【异步发送消息,发送消息后直接往下走,等发送成功后会回调callback的方法】

开发customer

@Component
@RocketMQMessageListener(topic = "topic1",consumerGroup = "customer1")
public class MyCustomer implements RocketMQListener<String> {
    @Override
    public void onMessage(String s) {
        System.out.println("消息消费成功:"+s);
    }
}

需要交给spring管理,所以加@Component,另外mq要求加@RocketMQMessageListener注解并实现RocketMQListener接口