tencent cloud

消息队列 CMQ 版

动态与公告
产品动态
公告
产品简介
产品概述
产品功能
产品优势
应用场景
使用限制
基本概念
购买指南
计费概述
购买方式
价格总览
欠费说明
退费说明
快速入门
队列模型快速入门
主题模型快速入门
操作指南
队列服务
主题订阅
访问管理 CAM
标签管理
配置告警
消息查询与轨迹
实践教程
消息去重
选择 Push 还是 Pull
案例分享
在线图片处理案例
起点文学网案例
开发指南
HTTP Endpoint 订阅
通用参考
API 文档
API 列表
CMQ API2.0 切换至 TDMQ CMQ 版 API3.0指引
SDK 文档
HTTP 数据流 SDK
HTTP 控制流 SDK
SDK 参数配置说明
常见问题
功能类
操作类
服务等级协议
联系我们
词汇表

Java SDK

PDF
聚焦模式
字号
最后更新时间: 2024-01-03 10:20:36

操作场景

本文以 Java SDK 为例介绍客户端接入 TDMQ CMQ 版服务并收发消息的操作步骤。

前提条件

队列模型

操作步骤

1. 在控制台创建符合需求的队列服务,参见 创建队列服务
2. 引入 CMQ 客户端相关依赖。
<!-- cmq sdk -->
<dependency>
<groupId>com.qcloud</groupId>
<artifactId>cmq-http-client</artifactId>
<version>1.0.7</version>
</dependency>

<!-- 云API sdk -->
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>3.1.423</version>
</dependency>


3. 发送消息。
Account account = new Account(SERVER_ENDPOINT, SECRET_ID, SECRET_KEY);
Queue queue = account.getQueue(queueName);
String msg = "hello client, this is a message. Time:" + new Date();
CmqResponse response = queue.send(msg);

参数
说明
SERVER_ENDPOINT
API 调用地址,在 TDMQ CMQ 版控制台 的队列服务 > API 请求地址处复制。



SECRET_ID、SECRET_KEY
云 API 密钥,登录 访问管理控制台,在访问密钥 > API 密钥管理页面复制。



queueName
队列名称,在 TDMQ CMQ 版控制台 的队列服务列表页面获取。
4. 消费消息。
Account account = new Account(SERVER_ENDPOINT, SECRET_ID, SECRET_KEY);
Queue queue = account.getQueue(queueName);
Message message = queue.receiveMessage();
// 消费成功,删除消息。未删除的消息,将在一定时间后可重新投递
queue.deleteMessage(message.receiptHandle);

参数
说明
SERVER_ENDPOINT
API 调用地址,在 TDMQ CMQ 版控制台 的队列服务 > API 请求地址处复制。



SECRET_ID、SECRET_KEY
云 API 密钥,登录 访问管理控制台,在访问密钥 > API 密钥管理页面复制。



queueName
队列名称,在 TDMQ CMQ 版控制台 的队列服务列表页面获取。

主题模型

操作步骤

1. 在控制台创建资源。
1.1 在控制台创建主题,参见 主题管理
1.2 给主题创建一个订阅者,参见 订阅管理
2. 引入 CMQ 客户端相关依赖。
<!-- cmq sdk -->
<dependency>
<groupId>com.qcloud</groupId>
<artifactId>cmq-http-client</artifactId>
<version>1.0.7</version>
</dependency>

<!-- 云API sdk -->
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>3.1.423</version>
</dependency>


3. 创建 Topic 对象。
Account account = new Account(SERVER_ENDPOINT, SECRET_ID, SECRET_KEY);
Topic topic = account.getTopic(topicName);

参数
说明
SERVER_ENDPOINT
API 调用地址,在 TDMQ CMQ 版控制台 的队列服务 > API 请求地址处复制。



SECRET_ID、SECRET_KEY
云 API 密钥,登录 访问管理控制台,在访问密钥 > API 密钥管理页面复制。



topicName
主题订阅名称,在 TDMQ CMQ 版控制台 的主题订阅列表页面获取。
4. 送 TAG 类型消息。
String msg = "hello client, this is a message. tag=TAG1. Time:" + new Date();
List<String> tags = Collections.singletonList("TAG1");
String messageId = topic.publishMessage(msg, tags, null);

5. 发送 route 消息。
String msg = "hello client, this is a message. route(abc) Time:" + new Date();
String messageId = topic.publishMessage(msg, "abc");

6. 消费消息,使用订阅者对应的 queue 进行消费。
Account account = new Account(SERVER_ENDPOINT, SECRET_ID, SECRET_KEY);
Queue queue = account.getQueue(queueName);
Message message = queue.receiveMessage();
// 消费成功,删除消息。未删除的消息,将在一定时间后可重新投递
queue.deleteMessage(message.receiptHandle);

说明:
以上是 CMQ 两种模型下的生产和消费方式的简单介绍,更多使用可参见 Demo

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈