开发者社区 > 云原生 > 云消息队列 > 正文

消息队列RocketMQ版如何通过调用SDK来订阅消息?

消息队列RocketMQ版如何通过调用SDK来订阅消息?

展开
收起
Lee_tianbai 2021-01-01 14:53:08 1014 0
1 条回答
写回答
取消 提交回答
  • 消息发送成功后,需要启动消费者来订阅消息。下文以调用 TCP Java SDK 为 例说明如何订阅消息。 1. 调用 TCP Java SDK 订阅消息。 您可以运行以下示例代码来启动消费者,并测试订阅消息的功能。请按照说明正 确设置相关参数。

    import com.aliyun.openservices.ons.api.Action;
    import com.aliyun.openservices.ons.api.ConsumeContext;
    import com.aliyun.openservices.ons.api.Consumer;
    import com.aliyun.openservices.ons.api.Message;
    import com.aliyun.openservices.ons.api.MessageListener;
    import com.aliyun.openservices.ons.api.ONSFactory;
    import com.aliyun.openservices.ons.api.PropertyKeyConst;
    import java.util.Properties;
    public class ConsumerTest {
    public static void main(String[] args) {
    Properties properties = new Properties();
    // 您在控制台创建的 Group ID
    properties.put(PropertyKeyConst.GROUP_ID, "XXX");
    // 鉴权用 AccessKeyId,在阿里云服务器管理控制台创建
    properties.put(PropertyKeyConst.AccessKey, "XXX");
    // 鉴权用 AccessKeySecret,在阿里云服务器管理控制台创建
    properties.put(PropertyKeyConst.SecretKey, "XXX");
    // 设置 TCP 接入域名,进入控制台的实例详情页面,在页面上方选择实例后,在实例信息中的“获取
    接入点信息”区域查看
    properties.put(PropertyKeyConst.NAMESRV_ADDR,"XXX");
    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");
    }
    }
    
    1. 查看消息订阅是否成功。 完成上述步骤后,您可以在控制台查看消费者是否启动成功,即消息订阅是否 成功。 a. 在控制台左侧导航栏,单击 Group 管理。 b. 找到要查看的 Group ID,单击该 Group ID 所在行操作列的订阅关系。 如果是否在线显示为是,且订阅关系一致,则说明订阅成功。否则说明订阅 失败。
    2021-01-05 14:24:00
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    从 SDK 到编解码:视频直播架构解析 立即下载
    跨平台的云服务SDK需要什么 立即下载
    一个跨平台的云服务SDK需要什么 立即下载