feat(search): 集成 Canal 实现数据库变更监听与词典热更新
- 新增 Canal 客户端配置与连接管理 - 实现 Canal 数据订阅与消费调度任务 - 添加外部词典热更新接口与服务实现- 配置 Elasticsearch词典热更新支持 - 引入 Canal 相关依赖并统一版本管理- 启用 Spring 定时任务支持以驱动 Canal 消费- 增加项目词典以优化拼写检查准确性
This commit is contained in:
@@ -50,6 +50,7 @@ public class CanalSchedule implements Runnable {
|
|||||||
// 拉取数据为空,休眠 1s, 防止频繁拉取
|
// 拉取数据为空,休眠 1s, 防止频繁拉取
|
||||||
TimeUnit.SECONDS.sleep(1);
|
TimeUnit.SECONDS.sleep(1);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
|
log.error("消费 Canal 批次数据异常", e);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 如果当前批次有数据,打印这批次中的数据条目
|
// 如果当前批次有数据,打印这批次中的数据条目
|
||||||
@@ -77,7 +78,7 @@ public class CanalSchedule implements Runnable {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
CanalEntry.RowChange rowChage = null;
|
CanalEntry.RowChange rowChage;
|
||||||
try {
|
try {
|
||||||
rowChage = CanalEntry.RowChange.parseFrom(entry.getStoreValue());
|
rowChage = CanalEntry.RowChange.parseFrom(entry.getStoreValue());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user