我需要在数据库中的表上附加一个侦听器 一旦在表中执行了CRUD操作(前监听器和后监听器),则应调用spring boot方法 该条目可以来自任何来源 我如何在春季靴中做到这一点?
答案 0 :(得分:0)
This article说明了如何从DB-Trigger调用任何程序。
因此,您可以仅创建一个Spring Boot Java应用程序并对该应用程序进行sys调用。
Oracle和其他DB中也提供类似的机制。
答案 1 :(得分:0)
如果实体可以从任何来源创建-例如手动插入-这超出了您正在运行的应用程序的范围和上下文。
您所描述的称为CDC (change data capture)模式。
在这种情况下,要实现CDC,您需要使用基础数据库的工具-例如触发器。
正如我看到的那样,它被MongoDb标记了-触发器不是选项,因为mongodb不支持触发器。
如果您使用的是MongoDb v3.6 +,则可以利用新的Change Streams功能。这是Java的official example。
Change streams允许应用程序访问实时数据更改 而不会有拖延oplog的复杂性和风险。应用程序可以 使用变更流来订阅一次的所有数据变更 集合,数据库或整个部署,并立即做出反应 给他们。由于变更流使用汇总框架, 应用程序还可以过滤特定更改或转换 通知。
如果您使用的是MongoDb的早期版本,则可以监视oplog或将tailable cursors与带有上限的集合一起使用。