消息发送成功后,需要启动订阅方进行消息订阅。本文以 TCP Java SDK 为例,介绍如何通过调用相关协议及开发语言的 SDK/API 来完成消息订阅。
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 客户端。
在 MQ 控制台左侧菜单栏依次单击发布订阅管理>订阅管理。
找到要查看的 Topic,单击右侧操作选项里的消费者状态。 如果是否在线显示为是,则说明订阅端已成功启动。
如果消费者状态是否在线显示为否,请参考消费者状态问题排查。
完成以上所有步骤后,您就成功接入了 MQ 服务,可以用 MQ 进行消息发送和订阅了。