我有一个 java 应用程序服务器,使用 JDBC 与 oracle 11.2 数据库服务器进行通信。客户端的请求被发送到应用程序服务器,该应用程序服务器运行调用数据库中的第一个存储过程的java方法。
我希望 java 方法在调用存储过程后等待来自数据库的信号(该信号表明某些结果已准备好从数据库检索)。
为了避免轮询数据库,可以使用 DBMS_ALERT 来通知 java 方法(或多个方法,因为可能正在运行多个实例,每个唯一用户一个实例)结果已准备好检索,在这种情况下,java 方法可以继续执行其其余代码?
有人可以提供一个在这种情况下使用 DBMS_ALERT 的简单示例吗?也就是说,如何在数据库中对其进行配置,以便在表中的预定字段发生更改(例如,更改为预定值,例如“完成”)时发送警报,以及如何配置 java 方法,使其可以接收警报消息(包括如何处理此消息以检查其内容,例如if (received_message == 'done')
etc )?
这是我一直在寻找的一个很好的例子:
https://web.archive.org/web/20111203004656/http://www.oracleutilities.com/Packages/dbms_alert.html https://web.archive.org/web/20111203004656/http://www.oracleutilities.com/Packages/dbms_alert.html
它展示了 Java 应用程序如何使用 DBMS_ALERT 与 Oracle 数据库配合使用。
其他一些有用的链接可供参考:
http://vapvarun.com/study/oracle/prentice.programming.oracle.triggers.and.stored.procedures.3rd.edition.ebook-lib/0130850330_ch11lev1sec21.html http://vapvarun.com/study/oracle/prentice.programming.oracle.triggers.and.stored.procedures.3rd.edition.ebook-lib/0130850330_ch11lev1sec21.html
http://www.morganslibrary.org/reference/pkgs/dbms_alert.html http://www.morganslibrary.org/reference/pkgs/dbms_alert.html
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1101233460502 http://asktom.oracle.com/pls/asktom/f?p=100:11:0%3a%3a%3a%3aP11_QUESTION_ID:1101233460502
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)