Sun Java System Communications Services 6 2005Q4 配備計画ガイド

ジョブコントローラ

マスターチャネルプログラムは、ジョブコントローラの制御下で実行されます。ジョブコントローラは、メッセージキューを制御し、実際のメッセージ配信を行うチャネルプログラムを呼び出すプログラムです。ジョブコントローラはマルチスレッドプロセスであり、Messaging Server システムに常駐している数少ないプロセスの 1 つです。チャネル処理ジョブ自体は、ジョブコントローラにより作成されますが、一時的なジョブで、実行する作業がない場合は存在しなくなります。

ジョブコントローラの設定により、チャネル処理プログラムのインスタンスが常に少なくとも 1 つ存在するかどうかが決まります。多くの場合は、すぐに実行する作業がなくてもサービスプログラムのインスタンスが少なくとも 1 つは常に存在するように設定されます。それ以外の場合は、現在行うべき作業がなくなってから一定期間の間インスタンスが存在することになります。

外部メッセージを受け入れたスレーブチャネルは、メッセージをキューイングすることにより、新しいメッセージファイルが作成されたことをジョブコントローラに通知します。ジョブコントローラは、この情報を内部データ構造に入力し、必要に応じてそのキュー内のメッセージを処理するマスターチャネルジョブを作成します。ジョブコントローラで、既存のチャネルジョブが新しくキューイングされたメッセージファイルを処理できるように設定されている場合は、このジョブを作成する必要はありません。マスターチャネルジョブは、ジョブが開始されると、ジョブコントローラからメッセージ割り当てを取得します。メッセージの処理を終了すると、マスターチャネルはその処理のステータスに応じてジョブコントローラを更新します。そのステータスは、メッセージが正常にキューから削除されたか、メッセージの再配信スケジュールが組まれたかのいずれかになります。

ジョブコントローラは、メッセージの優先度と失敗した配信に関する情報を維持し、チャネルジョブに優先的なスケジュールを許可します。ジョブコントローラは、各ジョブの状態の追跡も行います。ジョブの状態は、アイドル、アイドルの時間、ジョブがビジーであるかどうかです。状態の追跡により、ジョブコントローラはチャネルジョブの最適なプールを維持できます。


注 –

現時点で存在しているスレーブチャネルは、SMTP スレーブと LMTP スレーブの 2 つだけです。次に、これらのプログラムを制御するディスパッチャーについて説明します。