如何使用java程序知道数据库是否更新

时间:2018-03-29 11:31:41

标签: java mysql api

我有两个模块。对于这两个模块,数据库是共同点

  • 第1单元:收集信息并存储在数据库中
  • 模块2:使用数据库结果执行进一步的操作

但是这里模块1和模块之间没有联系。模块2.现在我的问题是当数据库值更新时第二个模块将如何自动触发? 是否有任何方法可以知道数据库是否已更新?

1 个答案:

答案 0 :(得分:0)

您有树选项:

  1. 在有新的更新时,在数据库侦听中创建一个过程
  2. 在您的模块中存储一个包含最后更新字段的标记,如果有任何更新的行,则每隔t秒检查一次
  3. 在两个服务之间创建一个消息传递接口。
  4. 我的评论:

    1. 避免使用该解决方案。这是一个糟糕的解决方案!使用代码很难跟踪。
    2. 如果您知道系统不会增长,那么这可能是一个很好的解决方案。
    3. 如果您将来看到更多可以相互通信的模块。去做!选择一个好的Message Queue(RabbitMQ,ActiveMC等......)或者使用你的云解决方案(AWS有SQS)
    4. 使用数据库的两个独立模块之间的通信不是一个好的解决方案。因为如果更改数据库模式,则需要进行两次部署。如果您只需要数据,则可以使用Protobuf作为序列化器使用Message解决方案。