完成数据订阅通道的配置后,您可以使用DTS提供的SDK示例代码来订阅数据变更信息,本文介绍该示例代码的使用说明。
操作步骤
本文以IntelliJ IDEA软件(Community Edition 2020.1 Windows版本)为例,介绍如何运行SDK示例代码来消费订阅数据。
保存和查询消费位点
当SDK客户端首次启动、重启或者发生内部重试时,您需要查询并传入 消费位点,开始或重新消费数据。下文将介绍在不同情况下如何管理和查询消费位点,以确保数据不丢失,且尽量不重复,实现按需消费。场景 | SDK使用模式 | 查询方法 |
---|---|---|
查询消费位点 | ASSIGN模式、SUBSCRIBE模式 |
|
首次启动SDK客户端,需传入消费位点,来消费数据。 | ASSIGN模式、SUBSCRIBE模式 | 根据SDK客户端使用模式,选择Java文件DTSConsumerAssignDemo.java或DTSConsumerSubscribeDemo.java,并配置消费位点initCheckpoint 进行消费,配置方式,请参见步骤八和步骤九。
|
SDK客户端因内部重试,需重新传入上一个记录的消费位点,以继续消费数据。 | ASSIGN模式 | 请按如下顺序,查找上一个记录的消费位点,找到即可返回位点信息:
|
SUBSCRIBE模式 | 请按如下顺序,查找上一个记录的消费位点,找到即可返回位点信息:
|
|
已重启SDK客户端,需重新传入上一个记录的消费位点,以继续消费数据。 | ASSIGN模式 | 根据consumerContext.java文件中setForceUseCheckpoint 配置情况,查询消费位点,找到即可返回位点信息:
|
SUBSCRIBE模式 | 该模式下consumerContext.java文件中setForceUseCheckpoint 配置不生效,请按如下顺序,查找上一个记录的消费位点:
|
问题排查
问题 | 报错提示 | 原因 | 解决方法 |
---|---|---|---|
无法连接 |
|
brokerUrl 填写错误。
|
填入正确的brokerUrl 、userName 和password ,查询方式,请参见表 1。
|
|
无法通过broker地址连接真实的IP地址。 | ||
|
用户名和密码错误。 | ||
|
consumerContext.java文件中 setUseCheckpoint 配置为true ,但消费位点不在订阅实例的数据范围(如图示)之内。
|
传入在订阅实例的数据范围(如图示)之内的消费位点,查询方式,请参见表 1。 | |
消费订阅速度变慢。 | 无 | 可通过查询统计信息中的参数DStoreRecordQueue和DefaultUserRecordQueue队列的大小,分析消费数据变慢的原因。查询方式,请参见表 2。
|