update 优化 完善 rocketmq 相关演示案例

This commit is contained in:
疯狂的狮子Li
2024-06-04 14:50:54 +08:00
parent 0fe9c4f17d
commit fd48de83b5
5 changed files with 36 additions and 20 deletions

View File

@@ -1,6 +1,7 @@
package org.dromara.stream.consumer;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
@@ -11,10 +12,12 @@ import org.springframework.stereotype.Component;
**/
@Slf4j
@Component
@RocketMQMessageListener(topic = "TestTopic", consumerGroup = "springboot-mq-consumer-1")
public class NormalRocketConsumer implements RocketMQListener<String> {
@RocketMQMessageListener(topic = "test-topic", consumerGroup = "test-consumer-group")
public class NormalRocketConsumer implements RocketMQListener<MessageExt> {
@Override
public void onMessage(String message) {
log.info("【消费者】接收消息:{}" ,message);
public void onMessage(MessageExt ext) {
log.info("【消费者】接收消息:消息体 => {}, tag => {}", new String(ext.getBody()), ext.getTags());
}
}

View File

@@ -11,11 +11,12 @@ import org.springframework.stereotype.Component;
**/
@Slf4j
@Component
@RocketMQMessageListener(consumerGroup = "transaction-group", topic = "transaction_topic")
@RocketMQMessageListener(topic = "transaction-topic", consumerGroup = "transaction-group")
public class TransactionRocketConsumer implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
log.info("【消费者】===>接收事务消息:{}",message);
}
}

View File

@@ -1,9 +1,10 @@
package org.dromara.stream.producer;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.apache.rocketmq.spring.support.RocketMQHeaders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.stereotype.Component;
@@ -19,7 +20,21 @@ public class NormalRocketProducer {
private RocketMQTemplate rocketMQTemplate;
public void sendMessage() {
SendResult sendResult = rocketMQTemplate.syncSend("TestTopic", MessageBuilder.withPayload("hello world test").build());
log.info("发送普通同步消息-msgsyncSendMessage===>{}", sendResult);
// 发送普通消息
// rocketMQTemplate.convertAndSend("test-topic", "test");
// 发送带tag的消息
Message<String> message = MessageBuilder.withPayload("test").setHeader(RocketMQHeaders.TAGS, "test-tag").build();
rocketMQTemplate.send("test-topic", message);
// 延迟消息
// RocketMQ预定义了一些延迟等级每个等级对应不同的延迟时间范围。这些等级从1到18分别对应1s、5s、10s、30s、1m、2m、3m、4m、5m、6m、7m、8m、9m、10m、20m、30m、1h、2h的延迟时间。
org.apache.rocketmq.common.message.Message msg = new org.apache.rocketmq.common.message.Message();
msg.setDelayTimeLevel(3);
try {
rocketMQTemplate.getProducer().send(msg);
} catch (Exception e) {
e.printStackTrace();
}
}
}