【问题标题】:Notify about change in MySQL [duplicate]通知有关 MySQL 的更改 [重复]
【发布时间】:2012-03-11 12:41:31
【问题描述】:

可能重复:
monitoring mysql for changes

我有一个 MySQL 数据库,我希望收到更改通知。我正在使用 JDBC (Java),并希望在从另一个程序向我的表中添加数据时刷新 UI。

【问题讨论】:

    标签: java mysql jdbc


    【解决方案1】:

    我只是想对 j_mcnally 所说的内容添加一些想法。 (顺便说一句,在他链接到的 SO 问题中阅读得很好)。

    您能否进一步阐明“数据是从另一个程序添加到我的表中”的意思。你控制的程序?可以更改的程序?我们是在谈论 TOAD 还是其他一些 dB 工具?对数据访问的控制越多,您就能想出更好的解决方案。

    我的即兴反应是将这些数据公开为应用程序中的服务,以便所有数据操作始终通过与您的应用程序相同的“看门人”(如 JPA 的 EntityManager)。这将使为 UI 实现通知系统变得微不足道。

    你提到不想添加一个计时器线程......一个简单的表怎么样,除了保存最后更新的日期和表名之外什么都不做。每当客户提出请求以决定您是否要重用现有数据或进行新呼叫时,您可以快速运行一些东西?您需要在每个请求之前运行它,但它不是计时器上的循环,如果这是您遇到的问题。

    【讨论】:

      【解决方案2】:

      您需要轮询 MySQL 数据库并在它发生变化时进行更新。或者有一个监视器守护进程,它使用某种 Socket 将更新通知推送到客户端。

      【讨论】:

      • 我不想添加一个计时器线程,那个查询到数据库...
      • 你有关于它的教程链接吗?
      • 那么不可能,你在寻找触发器,但我不认为 MySQL 可以从触发器进行网络调用。
      猜你喜欢
      • 2017-03-07
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 2012-09-02
      • 1970-01-01
      • 2020-08-20
      • 2011-12-04
      相关资源
      最近更新 更多