3

JDBCを使用してOracle11.2データベースサーバーと通信するJavaアプリケーションサーバーがあります。クライアントの要求はアプリケーションサーバーに送信されます。アプリケーションサーバーは、データベース内の最初のストアドプロシージャを呼び出すJavaメソッドを実行します。

ストアドプロシージャを呼び出した後、javaメソッドがデータベースからのシグナルを待機して待機するようにします(シグナルは、何らかの結果がデータベースから取得する準備ができていることを示します)。

データベースのポーリングを回避するために、DBMS_ALERTを使用してjavaメソッド(または複数のインスタンスが実行されている可能性があるため、一意のユーザーごとに1つのインスタンス)に結果を取得する準備ができていることを通知できます。この場合、javaメソッドは実行を続行できます。そのコードの残り?

このシナリオでDBMS_ALERTを使用する簡単な例を誰かが提供できますか?つまり、テーブル内の所定のフィールドが変更されたときにアラートが送信されるようにデータベースで構成する方法(たとえば、「完了」などの所定の値に)、およびJavaメソッドを構成して警告メッセージ(たとえば、このメッセージを処理して内容を調べる方法を含むif (received_message == 'done'))?

4

1 に答える 1

3

これは私が探していた良い例です:

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://www.morganslibrary.org/reference/pkgs/dbms_alert.html

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1101233460502

于 2012-04-13T16:25:27.683 に答える