1. 依赖引入
<!-- web模块 -->
<dependency>
<groupId>com.xxx.basic</groupId>
<artifactId>xxx-starter-web</artifactId>
</dependency>
<!--db-->
<dependency>
<groupId>com.xxx.basic</groupId>
<artifactId>xxx-starter-mybatis-plus</artifactId>
</dependency>
<!-- rocketMQ基础组件-->
<dependency>
<groupId>com.xxx.basic</groupId>
<artifactId>xxx-starter-rocketmq</artifactId>
</dependency>
<dependency>
<groupId>com.xxx.basic</groupId>
<artifactId>xxx-starter-test</artifactId>
</dependency>
2. 编写单元测试类
1. 消息生产者
package com.xxx.learn.redis;
import com.alibaba.fastjson.JSONObject;
import com.xxx.starter.rocketmq.config.MQProducer;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.producer.SendResult;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @author amyzhang
* @history 2020-09-17 新建
* @since JDK1.7
*/
@Slf4j
public class RocketMQTest extends BaseTestCase {
@Autowired
private MQProducer mqProducer;
/**
* 同步消息
*/
@Test
public void testSendMsg(){
String topic = "test";
String tag = "A";
String msg = "{\"aaa\":\"bbb\"}";
for(int i=0;i<100;i++){
try {
SendResult sendResult = mqProducer.sendSync(topic, tag, msg, i + "");
log.info("---------------->{}", JSONObject.toJSONString(sendResult));
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
2. 消息消费者
package java.com.xxx.learn.listener;
import com.alibaba.fastjson.JSONObject;
import com.xxx.starter.rocketmq.annotation.MQConsumer;
import com.xxx.starter.rocketmq.base.AbstractMQPushConsumer;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
/**
* @author amyzhang
* @history 2020-09-17 新建
* @since JDK1.7
*/
@Slf4j
@MQConsumer(consumerGroup = "xxx-learn-ssm-rocketmq", topic = "test",tag = "A")
public class MqTestListener extends AbstractMQPushConsumer {
@Override
public boolean process(Object o, Map map) {
log.info("--------------->{},{}", JSONObject.toJSONString(o),JSONObject.toJSONString(map));
return true;
}
}
3. 单元测试
启动服务,运行单元测试类,能正常发送消息,消费消息即可