简介

用户通过设备消息通道SDK可以方便的接入设备消息通道, 在消息通道SDK中 封装了对接口返回码的处理,
比如: 70101(consumer不存在),70120(超时回滚)等等. 使用户只需要关心消息的处理,而不必要关心和消息通道的交互流程.

Demo项目

前提条件

  1. 安装IDE,可以使用 IntelliJ IDEA 或者 Eclipse.
  2. 下载SDK包
  3. SDK包中包含jar包和对应demo

这里可以下载demo, demo是maven构建的,使用Eclipse或Idea 导入, 导入之后, 项目如下:

image

此时项目会报错, 因为还没有导入 SDK的jar 包,把SDK导入即可. 详细接入操作见: 消息通道SDK接入

Demo类功能介绍

目前的demo 包括: 简单读取, 多线程处理消息等.

功能
简单读取 ReadCommitMessagePatternMain
多线程处理消息 MultiThreadConsumerMessageMain
多分区读取消息 MuiltiPartitionReadCommitMessagePatternMain

配置Demo

在运行前, 需要对demo进行简单的配置. 主要是用户信息的配置. 把下边的变量设置为你自己的appKey和appSecret .

 private static String appKey = "";
 private static String appSecret = "";

运行Demo

执行完配置DEMO后, 就可以运行demo了, 直接运行即可.

换group

在类中有一个group变量, private static String group = "group1"; 可以把group1 换成 group2,group3, group4, group5中的任意一个,体验下组与组之前的隔离功能.

demo代码介绍

在init方法中:

public static void init() {
        // 开放平台的url
        String path = "https://open.ys7.com";

        // 设置你的appkey,appSecret,group
        StandardConsumerMessage consumerMessage = new StandardConsumerMessage(path, appKey, appSecret, group);
        // 设置调用接口的间隔时间,ms
        consumerMessage.setConsumeIntervalTime(200);
        // 设置消费消息的回调接口,建议把消息放入本地队列,不要在回调函数里做业务处理.
        consumerMessage.setConsumerCallBack(new ConsumerCallBack() {
            @Override
            public void consumerCall(List<Object> msg) {
                if (msg.size() > 100) {
                    // 消息太多,只打印前100个
                    // log.info("msgSize:{},msg:{}", msg.size(), msg.subList(0, 100));
                } else {
                    // log.info("msgSize:{},msg:{}", msg.size(), msg);
                }
                for (Object object : msg) {
                    ......//业务处理
                }
            }
        });
        consumerMessage.initClient();
    }

在上边的代码中, 一个 StandardConsumerMessage 代表一个消费者, 去读取消息. StandardConsumerMessage 是异步去读取消息的, 收到消息时回调 setConsumerCallBack 方法, 在这个方法中执行自己的业务处理.

其他功能介绍

results matching ""

    No results matching ""