4

イベントの詳細を持つテーブルがあります。新しいレコードは、別のプロセスによって継続的にこのテーブルに挿入されます。テーブルには Event-end-time 列があります。

イベントの終了時間に達したときにイベントを処理する Java メソッドを呼び出すメカニズムを設計する必要があります。私が持っているオプションのいくつかは次のとおりです。

  1. データベースを継続的に (1 分ごとに) クエリし、処理する次の最新レポートを見つけて、終了時間に達したときにそれを呼び出します。
  2. ORACLE データベースに、イベントの終了時間に達したときに Java メソッドを呼び出す通知 / Oracle 自体に通知を送信するメカニズムが組み込まれているかどうかを調べます。

レコードが挿入/更新/削除された場合の通知のオプションを見てきました (トリガーベース) が、通知条件をカスタムにする場合 (レコードの列で指定された時間に達した場合) は、今まで運がありませんでした。

これに関するアドバイスは大歓迎です。

よろしく、 ディーパック

4

2 に答える 2

3

私が知っている最善の方法は、Oracle AQ (JMS 実装)を使用することです。

データベースの変更通知もありますが、これは経験がありませんが、あなたが求めているものになる可能性があります。実際にはAQに基づいていると思います。

于 2012-05-10T05:16:38.013 に答える
1

/* イベントの終了データが既にテーブルにあり、イベントの日付/時刻に達したときに * アクションを起動する必要があるため、トリガーのアイデアを削除しました */

特定の時間が経過したときにイベントを起動する必要があるため、開始日がイベントの終了時間と同じである Oracle Scheduler ジョブを簡単に追加できます。Oracle ドキュメント サイトのCREATE_JOB プロシージャを参照してください。Oracle Scheduler は非常に強力で、pl/sql コード、プロシージャ、シェル スクリプトなどのあらゆる種類のアクションを開始でき、資格情報を使用してローカルおよびリモートで実行できます。

于 2012-05-10T05:54:18.897 に答える