3

我有一个使用 JDBC 与 oracle 11.2 数据库服务器通信的 java 应用程序服务器。客户端的请求被发送到应用程序服务器,应用程序服务器运行一个调用数据库中的第一个存储过程的 java 方法。

我希望 java 方法在调用存储过程之后坐下来等待来自数据库的信号(该信号表明某些结果已准备好从数据库中检索)。

为了避免轮询数据库,可以使用 DBMS_ALERT 通知 java 方法(或多个方法,因为可能正在运行多个实例,每个唯一用户一个实例)结果已准备好检索,在这种情况下,java 方法可以继续执行它的其余代码?

有人可以提供一个在这种情况下使用 DBMS_ALERT 的简单示例吗?也就是说,如何在数据库中对其进行配置,以便在表中的预定字段发生更改(例如更改为预定值,例如“完成”)时发送警报,以及如何配置 java 方法以使其可以接收警报消息(包括它如何处理此消息以检查其内容,例如if (received_message == 'done')等)?

4