![]() |
1
5
可以在表上放置插入/更新/删除触发器,以便在对表进行“数据”更改时执行某些操作。(与更改表结构相反) 我相信10G也支持视图上的触发器。 但我不确定如何通过轮询来通知其他进程的Java进程。 对不起的。 您可能会创建一些解决方案,Java应用程序有一个“侦听”服务器,数据库将它推回到消息中。但这听起来很难维持。 Justin Cave 在注释中,您可以配置Oracle流来发送Java应用程序可以通过JMS订阅的逻辑更改记录(LCRS)。或者,触发器可以将记录写入JAVA可以通过JMS订阅的高级队列。 你仍然需要警惕甲骨文的交易。 由于Oracle事务的工作方式,触发器将在更改时触发,但也可能多次触发。 在任何情况下,Java应用程序都不可能看到“更改”,直到执行了提交。 |
![]() |
2
10
看 Oracle Change Notification 这是一个非常有趣的Oracle功能。 从Oracle文档中: “数据库更改通知是一项功能,使客户端应用程序能够在数据库中注册查询,并接收响应与查询关联的对象上DML或DDL更改的通知。当DML或DDL事务提交时,数据库会发布通知。“ |