全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息队列 MQ

步骤四:订阅消息

更新时间:2017-12-15 20:41:34

消息发送成功后,需要启动订阅方进行消息订阅。本文以 TCP Java SDK 为例,介绍如何通过调用相关协议及开发语言的 SDK/API 来完成消息订阅。

说明:关于 TCP 接入点域名,请参见TCP 接入说明

调用 TCP Java SDK 订阅消息

您可以运行以下示例代码来启动订阅端,并测试订阅消息的功能。请按照说明正确设置相关参数。目前控制台提供了 Java,C++, .NET,PHP 的示例代码。

public class ConsumerTest {
    public static void main(String[] args) {
        Properties properties = new Properties();
        // 您在 MQ 控制台创建的 Consumer ID
        properties.put(PropertyKeyConst.ConsumerId, "XXX");
        // 鉴权用 AccessKey,在阿里云服务器管理控制台创建
        properties.put(PropertyKeyConst.AccessKey, "XXX");
        // 鉴权用 SecretKey,在阿里云服务器管理控制台创建
        properties.put(PropertyKeyConst.SecretKey, "XXX");
        // 设置 TCP 接入域名(此处以公共云公网环境接入为例)
        properties.put(PropertyKeyConst.ONSAddr,
          "http://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet");

        Consumer consumer = ONSFactory.createConsumer(properties);
        consumer.subscribe("TopicTestMQ", "*", new MessageListener() {
            public Action consume(Message message, ConsumeContext context) {
                System.out.println("Receive: " + message);
                return Action.CommitMessage;
            }
        });
        consumer.start();
        System.out.println("Consumer Started");
    }
}

查看消息订阅是否成功

完成上述步骤后,您可以在 MQ 控制台查看订阅端是否启动成功,即消息订阅是否成功。目前控制台查看消费者状态仅支持 TCP 客户端,暂不支持 HTTP 以及 MQTT 客户端。

  1. 在 MQ 控制台左侧菜单栏单击订阅管理

  2. 找到要查看的 Topic,单击右侧操作选项里的消费者状态
    如果是否在线显示为,则说明订阅端已成功启动。如果消费者状态是否在线显示为,说明消费端没有启动或者启动失败。

完成以上所有步骤后,您就成功接入了 MQ 服务,可以用 MQ 进行消息发送和订阅了。

本文导读目录