第一步:引入rocketMq相关依赖
<!--RocketMQ相关-->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
</dependency>
第二步:相关配置
#服务器地址
rocketmq.name-server=192.168.31.81:9876
//组名
rocketmq.producer.group=tanhua
发送消息的代码:示例
首先使用@Autowired注入RocketMQTemplate(后面直接使用,就不特殊说明)
@Autowired
private RocketMQTemplate rocketMQTemplate;
private Boolean sendMsg(String publishId, Integer type) {
try {
User user = UserThreadLocal.get();
Publish publish = this.quanZiApi.queryPublishById(publishId);
//构建消息
Map<String, Object> msg = new HashMap<>();
msg.put("userId", user.getId());
msg.put("date", System.currentTimeMillis());
msg.put("publishId", publishId);
msg.put("pid", publish.getPid());
msg.put("type", type);
this.rocketMQTemplate.convertAndSend("tanhua-quanzi", msg);//重点,tanhua-quanzi是主题,msg是消息
} catch (Exception e) {
log.error("发送消息失败! publishId = " + publishId + ", type = " + type, e);
return false;
}
收消息
RocketMQ相关配置
#服务器地址
rocketmq.name-server=192.168.31.81:9876
rocketmq.producer.group=tanhua
首先在类上面加注解
@RocketMQMessageListener(topic = “tanhua-quanzi”,consumerGroup = “tanhua-quanzi-consumer”)
类要实现
public class QuanZiMsgConsumer implements RocketMQListener
示例代码
先拿到数据进行分析
然后将数据存放到mogodb中
//发送消息传的值为String msg
@RocketMQMessageListener(topic = “tanhua-quanzi”,consumerGroup = “tanhua-quanzi-consumer”)
public class QuanZiMsgConsumer implements RocketMQListener{
//msg就是消息数据
public void onMessage(String msg) {
try {
//转化为json
JSONObject jsonObject = JSONUtil.parseObj(msg);
}
}}