2012-04-13 15 views
3

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

私は、ストアドプロシージャを呼び出した後、座ってデータベースからの信号を待っています(信号は、データベースから取得するための準備ができていることを示しています)。

データベースのポーリングを避けるために、DBMS_ALERTを使用して、結果が取得可能なJavaメソッド(複数のインスタンスが実行されている可能性があるため、1つのインスタンスが1つのインスタンス)を通知できます。残りのコードを実行することができますか?

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

+1

あなたは(http://docs.oracle.com/cd [データベース変更通知]に見たことが/E14072_01/java.112/e10589/dbchgnf.htm)? –

+0

QA(高度なキューイング)を使用したくないですか?この目的のために設計されたOracleメッセージング・システムです。それはJMSラッパー・ライブラリーを持っています。 – ibre5041

答えて

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:11

+0

[この前の質問](http://stackoverflow.com/q/4453428)も参照してください。それはC#ですが、かなり簡単に移植できるように受け入れられた答えがあります。 –

+0

oracleutilities.comへの最初のリンクが壊れているように見えます。サイトがなくなったように見えます。 –

関連する問題