apache / apache/iotdb

2.0.7表模式下如何订阅实时数据

オープン
#17,414 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
6.4k
フォーク
1.2k
平均マージ
1日 23時間
マージ済み PR(30日)
115

説明

`

// 创建 topics
try (final ISubscriptionTableSession session = new SubscriptionTableSessionBuilder()
.host(host)
.port(port)
.username(user)
.password(password)
.build())
{
final Properties config = new Properties();
config.put(TopicConstant.DATABASE_KEY, "酸奶");
config.put(TopicConstant.TABLE_KEY, "金山_产线_灌装_老酸奶灌装机");
config.put(TopicConstant.START_TIME_KEY, "now");
config.put(TopicConstant.STRICT_KEY, "true");
config.put(TopicConstant.MODE_KEY, TopicConstant.MODE_DEFAULT_VALUE);
session.createTopic("test_topic", config);
log.info("主题 {} 创建成功", "test_topic");
}

ThreadUtil.execute(() -> {
// 创建消费者
// push 模式
final ISubscriptionTablePushConsumer consumer = new SubscriptionTablePushConsumerBuilder()
.consumerId("c1").consumerGroupId("cg1")
.host(host).port(port)
.username(user).password("root")
.consumeListener(message -> {
System.out.println( message );
return ConsumeResult.SUCCESS;
})
.build();
try {
Thread.currentThread().join();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
});
`
以上代码中 我拿不到 实时数据。我的实时数据是通过iotdb 自带的 mqtt 写进去的。每次写进去 执行select 查询的时候已经查到新数据了。但是 这个订阅始终收不到数据。

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、SubscriptionTableSessionBuilder と createTopic に渡されるテーブルモードのトピック設定を確認し、次に SubscriptionTablePushConsumerBuilder と consumeListener が IoTDB MQTT を通じて書き込まれた行をどのように受け取る想定なのかを追跡します。示されている database、table、test_topic の値を使ってセットアップを再現します。consumer が新しく挿入されたリアルタイムデータを受信すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
databases
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
説明が足りない
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。