Java中的MySQL表侦听器

时间:2018-07-25 07:07:52

标签: java mysql

这是我的要求:

我的Java服务是连续运行的进程。 java服务启动时,它将从MySql数据库中的表之一加载配置。

如果有任何更改(可以是insert/update/delete,也可以在Java服务之外),则Java服务应立即重新加载配置。

我在stackoverflow中看到了一个post,用于Oracle数据库,但是我正在寻找Mysql数据库。

我可以使用单独的线程来实现此目的,该线程以一定间隔轮询数据库表。但是,轮询更改不是一个好方法。相反,我正在寻找可以在MySql表中发生任何更改时通知的任何Watcher / Listener。

有人可以帮助我实现这一目标吗?

注意:如果该问题已在某处得到解答,请在评论中发布链接,我将删除此问题。

1 个答案:

答案 0 :(得分:1)

您要执行更改数据捕获系统。也许您可以使用基于Kafka的产品。

您可以将kafka-connect与Debezium on it一起使用。该连接器首先为您的表创建快照,然后阅读mysql binlog,以便在表上具有插入/修改/删除的一致的kafka主题。

如果您不想使用它,也许可以将代码分叉以使用与它们相同的东西,只需将输出修改为您的应用程序侦听器即可。