我有一个想法是创建一个小的Java桌面应用程序,当它在oracle db中找到新记录时显示通知。
我不希望所有的桌面客户端都运行查询,所以我想我要做的是创建一个运行查询的主进程,并让所有其他进程知道何时显示通知。
我被限制在Oracle9i上,所以我不能使用更改通知。AskTom说,dbms_alert是Oracle9i的一个很好的替代品。
因此,根据我现在的想法,我将编写一个sqlplus脚本来通过crontab运行,它将定期运行一个查询,然后发出一个dbms_alert。
对于我的桌面应用程序,我有点困惑。dbms_alert有waitany和waittone等方法。这是否意味着我的桌面应用程序需要保持与数据库的实时活动会话打开,以便它们接收dbms_alerts?
难道我不能让我的桌面应用程序定期连接到数据库,并获得任何警报,他们尚未被提取?
谢谢
发布于 2013-05-17 23:23:02
我将创建一个执行查询的db作业。此外,我将创建一个维护表,在该表中保留包含通知。如果找到新的记录,则返回时间戳。每个(Java)客户端都有它自己的时间戳,来自维护表的最后一次查询,因此如果找到新的记录,就会注册。但您必须确保每个客户端在特定的时间段内对maintenance表进行查询。
https://stackoverflow.com/questions/16586755
复制相似问题