一尘不染

监视mysql的变化

hibernate

我有一个Java应用程序,它通过hibernate使用MySQL数据库。数据库实际上是用作持久层:在程序的初始加载时读取数据库,然后将记录保存在内存中。

但是,我们增加了额外的复杂性,其中另一个进程也可能会更改数据库,并且更改可以反映在Java应用程序上将非常好。但是,我并不特别喜欢每隔几秒钟就查询数据库的拉动机制,尤其是很少更新数据库。

有没有一种方法可以使回调监听数据库的变化?触发器会有所帮助吗?


阅读 261

收藏
2020-06-20

共1个答案

一尘不染

或更改两个应用程序,以便Java应用程序确实是MySQL数据库的所有者,并将其作为服务公开。您正在按照建议的方式在数据库级别耦合这两个应用程序。

如果您拥有数据的一个所有者,则可以将模式更改等隐藏在服务接口的后面。您还可以使用发布/订阅机制来向感兴趣的各方发出有关数据库更改的警报。如果这些事情对您很重要,那么我将重新考虑让另一个应用程序直接访问MySQL。

2020-06-20