tencent cloud

文档反馈

Java SDK

最后更新时间: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
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持