我正在开发一个Springboot项目,该项目需要一个数据库监听器来监听对Oracle数据库(12c)中的表所做的任何更改。
Oracle的数据库更改通知(DCN)似乎是一个完美的解决方案。
但是一项快速研究得出结论,Oracle 12c(我们正在使用)并不支持数据库更改通知(DCN)。数据库注册似乎正在工作,因为我们可以打印正在注册的表进行收听。 但是,在更新表时,不会调用实现DatabaseChangeListener接口的类的onDatabaseChangeNotification方法。
Why should we not upgrade to Oracle 12c……YET
要求中还有其他限制 - 不使用手动创建的线程,也不使用DB中的触发器。
我使用了此Oracle指南中显示的示例。 (减去侦听器类的onDatabaseChangeNotification方法中的同步部分和线程创建)==> Database Change Notification
有没有替代方案呢?。