Oracle数据库在到达列中指定的时间时发送通知/调用java方法

我有一张表有事件详情。 新记录将由另一个进程连续插入此表。 该表有一个Event-end-time列。

我必须设计一种机制来调用java方法来处理事件到达事件结束时间。 我的一些选择是:

  1. 连续查询数据库(每1分钟)并找到要处理的下一个最新报告,并在到达结束时间时调用它。
  2. 弄清楚ORACLE数据库中是否有任何内置机制向java应用程序发送通知/ Oracle itslef在到达事件结束时调用java方法。

如果记录是插入/更新/删除(基于触发器),我已经看到了通知选项,但是到目前为止,如果通知条件是自定义的(如果达到了记录列中的时间),我没有运气。

任何有关这方面的建议将不胜感激。

此致,迪帕克

我知道这样做的最好方法是通过Oracle AQ (JMS实现)

还有数据库更改通知 ,我没有任何经验,但可能是你所追求的,我相信它实际上建立在AQ之上。

/ *删除了触发器的想法,因为事件结束数据已经在表中,并且当达到事件日期/时间时应该触发action * * /

由于您希望在传递特定时间时触发事件,因此可以简单地添加具有与事件结束时间相同的开始日期的Oracle Scheduler作业。 请参阅Oracle文档站点上的CREATE_JOB过程 。 Oracle Scheduler非常强大,可以启动各种操作,如pl / sql代码,procdures和shell脚本,可以使用凭据进行本地和远程操作。