gpt4 book ai didi

订阅 PostgreSQL/MySql 的 Java 应用程序

转载 作者:行者123 更新时间:2023-11-29 00:46:17 25 4
gpt4 key购买 nike

我需要创建一个 Java 代理,它可以在 Mysql 或 Psql 数据库中的特定表发生任何更新时立即感知并执行其指令。一切都需要自动完成。

我想知道我是 Java 的新手,你们可以给我任何建议..

我的选择是:

1) 在提交后有一个触发器可以唤醒我的 Java 应用程序。 (使用 Pg_notify 等)

2) 或让 Java 应用程序订阅数据库中的特定 ID(不确定是否可以这样做,因为异步更新是不可能的,我可能需要让我的代理向数据库查询 xx 第二个请求进行更改)

谢谢!

最佳答案

是的,使用 NOTIFY 的触发器是在 PostgreSQL 中执行此操作的好方法。使用 JDBC 驱动程序时的重要问题是无法异步接收通知,您必须轮询。这通常很好,因为 NOTIFY/LISTEN 机制非常轻量级:如果您想每秒轮询 10(100?)次,那么您可以这样做而不会导致性能问题。参见 http://jdbc.postgresql.org/documentation/83/listennotify.html了解更多。

MySQL 的帮助不大;您需要将触发器插入到监控表中并使用 SELECT *(然后是 DELETE)重复轮询该表。这会奏效,但您更有可能以延迟/性能权衡告终。

关于订阅 PostgreSQL/MySql 的 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10441912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com