【问题标题】:Oracle database: DBMS_ALERT usage with java applicationOracle 数据库:DBMS_ALERT 与 java 应用程序一起使用
【发布时间】:2012-04-13 00:30:55
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您确定不想使用 QA(高级队列)吗?它是用于此目的的 Oracle 消息传递系统。它甚至还有一个 JMS 包装库。

标签: java database oracle


【解决方案1】:

【讨论】:

  • 你可能也想看看this previous question;它是 C#,但接受的答案看起来可以相当简单地移植。
  • 到 oracleutilities.com 的第一个链接现在似乎已断开。该网站似乎已消失。
猜你喜欢
  • 2023-03-28
  • 2021-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
  • 2017-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多