3

以下を実装する必要があります。

別のテーブルBのトリガーからのDML操作によって変更されることになっているテーブルAがあります。

トリガーが機能するたびにJBossBeanに通知したいと思います。最良の場合、Bean内の古いデータと新しいデータを確認する機会が欲しいです。

それを行うための最良の方法は何ですか?読むべき資料をお勧めしますか?

4

2 に答える 2

5

データベース変更通知を使用するというAlexの提案は、おそらく最善の方法です。Oracle PL / SQLパッケージ(トリガーから呼び出すことができます)からJavaプロセスにイベントを通知するアクションのその他のオプションを次に示します。

  • DBMS_PIPEを使用して、同じパイプをリッスンしているJavaクライアントにメッセージを非同期で送信します。
  • DBMS_ALERTを使用して、ターゲットアラートをリッスンしているJavaクライアントにメッセージを送信します。トランザクションがコミットされるまで、メッセージは受信されません。
  • UTL_HTTPまたはUTL_SMTPまたはUTL_TCPを使用して、ターゲットHTTP、SMTP、またはTCPエンドポイントをリッスンしているJavaプロセスにメッセージを送信します。
  • ターゲットキュー/トピックをリッスンしているJavaクライアントにOracle/AQJMSメッセージを送信します。
  • JavaでJMSクライアントを作成し、Javaクラス[および依存関係]をOracleデータベースにロードします。クラスをPL/SQLプロシージャでラップし、それを呼び出して、ターゲットのキュー/トピックをリッスンしているJavaクライアントに通知します。

PL / SQLからのJMSの呼び出し/使用に関する質問には、PL/SQLからのJMSメッセージの送信に関する詳細情報があります。

于 2012-06-16T15:11:41.607 に答える
0

トリガーにシグナルテーブルに行を挿入させることができます。

その後、JBossプロセスはシグナルテーブルを監視し、定期的に新しいシグナルをチェックします。

于 2012-06-16T09:54:16.990 に答える