您可以在表上放置INSERT / UPDATE / DELETE触发器,以在对表进行“数据”更改时执行某些操作。(而不是更改表的结构)
我相信10g也支持视图触发器。
但是我不确定您如何通过轮询来通知其他Java进程。
抱歉。
您可能会创建一些解决方案,其中Java应用程序具有“侦听”服务器,而数据库会将其推回一条消息。但这听起来很难维持。
贾斯汀·凯夫(Justin
Cave)在评论中建议您可以配置Oracle
Streams来发送Java应用程序可以通过JMS订阅的逻辑更改记录(LCR)。或者触发器可以将记录写入Java可以通过JMS订阅的Advanced
Queue。
您仍然需要对Oracle转换保持警惕。由于Oracle事务的工作方式,触发器将在更改时触发,但它也可能触发多次。
并且在任何情况下,除非执行了提交,否则Java应用程序将无法“看到”更改。



