大概为:
先在nacos中或者yml配置文件中配置生产者和消费者,再去到控制台
新增一个 主题,这个主题也就是发信息的时候需要选择的主题,然后发送的时候可以设置延时
再然后就是新增监听类,监听类要写监听的主题和消费者的名称。
然后消费的时候会自动在控制台生成一个在监听类写的消费者的名称一样的消费者。
步骤一
rocketmq:
# tdmq-rocketmq服务接入地址
name-server: http://xxx.xxx.xxxx
# 消费者
consumer:
access-key: ixafiMqAdmin
secret-key: dasdasz-rocketmq@iwasdi
# 生产者配置
producer:
# 生产者组名
group: ghaim_report_producer
# 角色密钥
access-key:ixafiMqAdmin
# 已授权的角色名称
secret-key: dasdasz-rocketmq@iwasdi
步骤二 再就是新建rocke主题
主题名也就是之后在代码中写的
步骤三 发送信息的方法
private String messageDelayLevel = "1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h";
//信息体,可是数据实体对象
String message = "xx";
Message<String> sendMessage = MessageBuilder.withPayload(message).build();
//第一个为新建的主题名称,第二个是信息,第三个是超时时间,第四个延迟发送时间
SendResult sendResult = rocketMQTemplate.syncSend("topic_monitor_abnormal_notify", sendMessage, 3000L, 16);
步骤四 接收消费信息
@Component
@RocketMQMessageListener(consumerGroup = "monitor_abnormal_consumer",
topic = "topic_monitor_abnormal_notify")
@Slf4j
public class GhaImMonitorAbnormalListener implements RocketMQListener<String> {
@Autowired
private TokenUtils tokenUtils;
@Override
public void onMessage(String message) {
log.info("接收到主动监测异常消息{}", message);
try {
RequestTokenHolder.setToken(tokenUtils.getToken());
//方法
System.out.println("成功消费" + message);
log.error("消费成功:{}", message);
}catch (Exception e){
log.error("消费失败,异常信息:{}", e.getMessage());
}
log.info("消费成功");
RequestTokenHolder.removeToken();
}
}