springboot 消费者获取消息存入RocketMQ的时间戳
时间: 2023-12-17 09:04:21 浏览: 127
SpringBoot微信消息接口配置详解
在Spring Boot中,您可以使用RocketMQ的消息监听器来消费消息并获取消息存入RocketMQ的时间戳。以下是一个示例代码:
```java
import org.apache.rocketmq.client.consumer.listener.*;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.common.message.MessageExt;
import org.springframework.stereotype.Component;
@Component
public class RocketMQConsumer {
private final DefaultMQPushConsumer consumer;
public RocketMQConsumer() throws Exception {
consumer = new DefaultMQPushConsumer("consumerGroup");
consumer.setNamesrvAddr("localhost:9876");
consumer.subscribe("topic", "*");
// 注册消息监听器
consumer.registerMessageListener((MessageListenerConcurrently) (msgs, context) -> {
for (MessageExt message : msgs) {
// 获取消息存入时间戳
long storeTimestamp = message.getStoreTimestamp();
// 打印消息存入时间戳
System.out.println("消息存入时间戳:" + storeTimestamp);
}
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
});
consumer.start();
}
}
```
在上述代码中,我们创建了一个Spring Boot的组件类`RocketMQConsumer`,并通过构造函数初始化了一个`DefaultMQPushConsumer`实例。然后,我们设置了NameServer地址、订阅了指定主题的消息,并注册了一个消息监听器。当消费者接收到消息时,会通过消息监听器中的`MessageExt`对象获取到消息的存入时间戳,并打印出来。
您只需将上述代码作为一个组件类,在Spring Boot应用中启动时,该消费者就会自动启动,并监听并消费RocketMQ中的消息。在消费消息的同时,也会获取到消息存入RocketMQ的时间戳。
阅读全文