0

我有一个想法来创建一个小的 Java 桌面应用程序,当它在 oracle db 中找到新记录时显示通知。

我不希望所有桌面客户端都运行查询,所以我想我会创建一个运行查询并让所有其他进程知道何时显示通知的主进程。

我仅限于 Oracle 9i,因此无法使用更改通知。AskTom 说 dbms_alert 是 Oracle 9i 的一个很好的替代方案。

因此,从我现在的想法来看,我将编写一个 sqlplus 脚本以通过 crontab 运行,该脚本将定期运行查询,然后发出 dbms_alert。

对于我的桌面应用程序,我有点困惑。dbms_alert 有 waitany 和 waittone 等方法。这是否意味着我的桌面应用程序需要保持与数据库的实时活动会话打开,以便它们接收 dbms_alerts?

我不能让我的桌面应用程序定期连接到数据库并获取尚未获取的任何警报吗?

谢谢

4

1 回答 1

1

我会创建一个执行查询的数据库作业。此外,我将创建一个维护表,在其中留下通知,包括。如果找到新记录的时间戳。每个(Java)客户端都有自己的维护表上次查询的时间戳,因此如果找到新的记录,则会注册。但是你必须确保每个客户端都在特定的时间段内对维护表进行查询。

于 2013-05-17T15:23:02.097 回答