Oracle Workflow APIリファレンス リリース2.6.3.5 部品番号: B15622-01 |
![]() |
![]() |
![]() |
![]() |
![]() |
||
前へ | 次へ | 目次 | 索引 | 用語集 |
procedure Cleanup_Subscribers
(errbuf out varchar2,
retcode out varchar2);
説明
標準のWF_CONTROLキューのクリーン・アップを実行します。
Oracle Applicationsまたはスタンドアロン版Oracle WorkflowのMiddle Tierプロセスは、起動時にWF_CONTROLキューへのJMSサブスクライバを作成します。このキューにイベント・メッセージが格納されると、このキューへの各サブスクライバに対して、イベント・メッセージのコピーが作成されます。ただし、Middle Tierプロセスが終了すると、対応するサブスクライバがデータベースに残ります。 処理の効率を向上させるために、WF_CONTROLを定期的にクリーン・アップしてください。それには、Cleanup_Subscribers()を実行して、アクティブでなくなったMiddle Tierプロセスのサブスクライバをすべて削除します。
Cleanup_Subscribers()プロシージャは、oracle.apps.wf.bes.control.pingというイベントを送信して、WF_CONTROLキューへの各サブスクライバのステータスをチェックします。 対応するMiddle Tierプロセスが実行中であれば、応答が返されます。
クリーン・アップ・プロシージャは、次に実行されるとき、前回の実行時に送信した各Pingイベントに対する応答を受信しているかどうかをチェックします。 あるサブスクライバからの応答を受信していない場合、そのサブスクライバは削除されます。
クリーン・アップ・プロシージャは、アクティブでなくなったサブスクライバをすべて削除した後、残りのサブスクライバに新しいPingイベントを送信します。
クリーン・アップは12時間おきに実行することをお薦めします。時間内に各サブスクライバがPingイベントに応答できるよう、クリーン・アップの実行間隔は30分以上にしてください。 前回の実行から30分未満で再度このプロシージャを実行すると、何の処理も実行されません。
サブスクライバに送信したPingイベントに関する情報は、最長で30日間保持されます。 送信から30日を超えると、そのPingイベントに関する情報はCleanup_Subscribers()によって削除されます。
クリーン・アップ処理でアクティブでないサブスクライバを削除できなかった場合、このプロシージャはエラー・メッセージを含むエラー・バッファを返します。 また、クリーン・アップのステータスを示すために、次のいずれかのコードを返します。
『Oracle Workflow開発者ガイド』の標準エージェントに関する項
『Oracle Workflow開発者ガイド』のWorkflow制御イベントに関する項
前へ | 次へ | 目次 | 索引 | 用語集 |