上云无忧 > 文档中心 > 腾讯云消息队列 RocketMQ - 使用 4.0 SDK 收发普通消息
消息队列 RocketMQ 版
腾讯云消息队列 RocketMQ - 使用 4.0 SDK 收发普通消息

文档简介:
操作场景: 本文以调用 4.0 Java SDK 为例介绍通过开源 SDK 实现消息收发的操作过程,帮助您更好地理解消息收发的完整过程。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

操作场景

本文以调用 4.0 Java SDK 为例介绍通过开源 SDK 实现消息收发的操作过程,帮助您更好地理解消息收发的完整过程。
说明
以 Java 客户端为例说明,其他语言客户端请参见 SDK 文档

前提条件

完成资源创建与准备
安装1.8或以上版本 JDK
安装2.5或以上版本 Maven
下载 Demo

操作步骤

步骤1:安装 Java 依赖库

在 Java 项目中引入相关依赖,以 Maven 工程为例,在 pom.xml 添加以下依赖:
		
<!-- in your <dependencies> block -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.9.7</version>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-acl</artifactId>
<version>4.9.7</version>
</dependency>

步骤2. 生产消息

		
// 实例化消息生产者Producer
DefaultMQProducer producer = new DefaultMQProducer(
groupName,
new AclClientRPCHook(new SessionCredentials(accessKey, secretKey)) // ACL权限
);
// 设置NameServer的地址,地址就是形如xxx.tencenttdmq.com:8080 这样的接入地址。
producer.setNamesrvAddr(nameserver);
// 启动Producer实例
producer.start();
for (int i = 0; i < 10; i++) {
// 创建消息实例,设置topic和消息内容.
Message msg = new Message(topic_name, ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET));
// 发送消息
SendResult sendResult = producer.send(msg);
System.out.printf("%s%n", sendResult);
}

步骤3. 消费消息

以下代码示例以 Push Consumer 为例,其他的可以参考更详细 4.x 的使用文档。
		
// 实例化消费者
DefaultMQPushConsumer pushConsumer = new DefaultMQPushConsumer(
groupName,
new AclClientRPCHook(new SessionCredentials(accessKey, secretKey))); //ACL权限
// 设置NameServer的地址
pushConsumer.setNamesrvAddr(nameserver);
// 订阅topic
pushConsumer.subscribe(topic_name, "*");
// 注册回调实现类来处理从broker拉取回来的消息
pushConsumer.registerMessageListener((MessageListenerConcurrently) (msgs, context) -> {
// 消息处理逻辑
System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), msgs);
// 标记该消息已经被成功消费, 根据消费情况,返回处理状态
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
});
// 启动消费者实例
pushConsumer.start();

步骤4. 查看消息详情

发送完成消息后会得到一个消息ID (messageID),开发者可以在 “消息查询” 页面查询刚刚发送的消息,如下图所示;并且可以查看特定消息的详情和轨迹等信息,详情参见 消息查询


相似文档
  • 操作场景: 集群是 TDMQ RocketMQ 版中的一个资源维度,不同集群的Topic、Group 等资源完全隔离。每个集群会有集群的资源限制例如 Topic 总数、消息保留时长等。常见的使用方式如:开发测试环境使用一个专门集群,生产环境使用一个专门的集群。
  • 操作场景: 如当前的集群规格不满足您的业务需求,您可以在控制台上提升您的集群规格和 TPS 规格。
  • 操作场景: 当您不再需要 RocketMQ 集群时,可以在控制台上手动销毁,避免产生额外的费用。
  • 操作场景: 集群创建完成后,您可以通过调整公网带宽来开启/关闭公网访问、修改公网带宽大小和设置公网安全策略来对用户访问进行限制。
  • 名词解释: RocketMQ 的“角色”是 RocketMQ 内专有的概念,区别于腾讯云的“角色”,是用户自行在 RocketMQ 内部做权限划分的最小单位,用户可以添加多个角色并为其赋予不同集群下的生产和消费权限。每种角色都有其对应的唯一密钥,用户可以通过在客户端中添加密钥来访问 RocketMQ 进行消息的生产消费。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部