从数据库获取事件
2022-09-01 08:54:59
我不太熟悉数据库以及它们在CRUD操作之外提供的功能。
我的研究使我找到了触发因素。基本上,触发器看起来提供了这种类型的功能:
(来自维基百科)
通常有三个触发事件会导致触发器“触发”:
- INSERT 事件(当新记录插入到数据库中时)。
- 更新事件(当记录正在更改时)。
- 删除事件(因为正在删除记录)。
我的问题是:当使用某种触发器语义更新/删除/插入记录时,有没有办法在Java中通知我(最好包括更改的数据)数据库?
此问题有哪些替代解决方案?如何侦听数据库事件?
我想这样做的主要原因是这样的场景:
我有5个客户端应用程序,它们都位于不同的进程中/存在于不同的PC上。它们都共享一个公共数据库(在本例中为 Postgres)。
假设一个客户端更改了数据库中所有 5 个客户端都“感兴趣”的记录。我正在尝试为客户端“通知”更改的方法(最好附加受影响的数据),而不是它们在某个时间间隔查询数据。