RocketMQ-spring-boot-starter接入云RocketMQ5.0版本的文档有吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,根据提供的知识库资料,rocketmq-spring-boot-starter
可以用于接入云消息队列 RocketMQ 5.0 版本。以下是详细的接入说明和配置步骤:
在使用 rocketmq-spring-boot-starter
接入云消息队列 RocketMQ 5.0 时,推荐使用以下版本:
gRPC协议SDK(推荐):
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-v5-client-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
Remoting协议SDK:
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
注意:
- 如果您的业务系统是全新接入,建议优先选择 gRPC协议SDK,以获得更好的性能和使用体验。 - 您可以通过仓库坐标判断使用的协议类型:rocketmq-client-java
表示 gRPC 协议,而 rocketmq-client
表示 Remoting 协议。
在接入之前,您需要在云消息队列 RocketMQ 控制台完成以下资源的创建: 1. 实例:创建一个云消息队列 RocketMQ 实例。 2. Topic:创建与消息类型一致的 Topic(例如普通消息或顺序消息)。 3. Group ID:创建 Group ID,并确保其协议类型与 SDK 的协议类型一致(如 TCP 协议)。 4. 接入点:获取实例的 TCP 协议接入点。 5. AccessKey 和 SecretKey:创建用于身份验证的 AccessKey 和 SecretKey。
pom.xml
文件在 Spring Boot 项目中,添加以下依赖:
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- RocketMQ Spring Boot Starter -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
<!-- 测试依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
application.properties
文件根据控制台创建的资源信息,修改 application.properties
文件中的参数:
# 阿里云身份验证标识
accessKey=LTAI5t6K7KY******VjAY3yS
# 阿里云身份验证密钥
secretKey=P6z2pkIKAZ******n61JZ5e1lofFG9
# 实例的TCP协议接入点
nameSrvAddr=http://MQ_INST_XXXXXX.cn-hangzhou.mq.aliyuncs.com:80
# Topic名称
topic=normal_topic
# Group ID
groupId=GID_test
以下是一个简单的消息发送和消费示例:
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class MessageSender {
@Autowired
private RocketMQTemplate rocketMQTemplate;
public void sendMessage(String topic, String message) {
rocketMQTemplate.convertAndSend(topic, message);
}
}
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;
@Service
@RocketMQMessageListener(topic = "normal_topic", consumerGroup = "GID_test")
public class MessageConsumer implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
System.out.println("Received message: " + message);
}
}
rocketmq-spring-boot-starter
,则 Group ID 必须选择 TCP 协议。通过上述步骤,您可以成功使用 rocketmq-spring-boot-starter
接入云消息队列 RocketMQ 5.0 版本。如果有其他问题,请随时咨询!
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/