【发布时间】:2012-03-11 12:41:31
【问题描述】:
我有一个 MySQL 数据库,我希望收到更改通知。我正在使用 JDBC (Java),并希望在从另一个程序向我的表中添加数据时刷新 UI。
【问题讨论】:
我有一个 MySQL 数据库,我希望收到更改通知。我正在使用 JDBC (Java),并希望在从另一个程序向我的表中添加数据时刷新 UI。
【问题讨论】:
我只是想对 j_mcnally 所说的内容添加一些想法。 (顺便说一句,在他链接到的 SO 问题中阅读得很好)。
您能否进一步阐明“数据是从另一个程序添加到我的表中”的意思。你控制的程序?可以更改的程序?我们是在谈论 TOAD 还是其他一些 dB 工具?对数据访问的控制越多,您就能想出更好的解决方案。
我的即兴反应是将这些数据公开为应用程序中的服务,以便所有数据操作始终通过与您的应用程序相同的“看门人”(如 JPA 的 EntityManager)。这将使为 UI 实现通知系统变得微不足道。
你提到不想添加一个计时器线程......一个简单的表怎么样,除了保存最后更新的日期和表名之外什么都不做。每当客户提出请求以决定您是否要重用现有数据或进行新呼叫时,您可以快速运行一些东西?您需要在每个请求之前运行它,但它不是计时器上的循环,如果这是您遇到的问题。
【讨论】:
您需要轮询 MySQL 数据库并在它发生变化时进行更新。或者有一个监视器守护进程,它使用某种 Socket 将更新通知推送到客户端。
【讨论】: