imta.cnf、mappings、aliases、option.dat などの MTA 設定ファイルを変更した場合は、設定をコンパイルしなおす必要があります。これにより、設定ファイルが共有メモリ内の単一のイメージ (UNIX の場合)、またはダイナミックリンクライブラリ (NT の場合) にコンパイルされます。
コンパイルされた設定には、静的な部分と動的で再読み込み可能な部分があります。動的な部分が変更された場合に imsimta reload を実行すると、実行中のプログラムによって動的なデータが再読み込みされます。動的な部分とは、マッピングテーブル、エイリアス、検索テーブルです。
設定情報のコンパイルは、主にパフォーマンス向上のために行います。コンパイルされた設定を使用するもう 1 つの利点は、設定の変更を簡単にテストできることです。これは、コンパイルされた設定が使用されているときに設定ファイル自体は「実行中」ではないからです。
チャネルプログラムなどの MTA コンポーネントは、設定ファイルの読み込みが必要になるたびに、コンパイルされた設定が存在するかどうかをチェックします。存在する場合は、そのイメージが実行中のプログラムに添付されます。イメージの添付処理に失敗すると、MTA は代わりに古い方法であるテキストファイルの読み込みを実行します。
reverse、forward、または一般データベースを変更した場合は、imsimta reload コマンドを発行して変更を有効にしてください。job_controller に影響を及ぼさない imta.cnf、mappings ファイル、aliases、conversions、または option.dat ファイルを変更した場合は、imsimta cnbuild に続けて imsimta restart smtp を発行する必要があります。dispatcher.cnf を変更した場合は、imsimta restart dispatcher を実行する必要があります。変更する設定ファイルが、ジョブコントローラには影響を与えるが、SMTP サーバーには影響を与えないコンパイル済みの設定に含まれる場合には、大抵、コマンドimsimta cnbuild および imsimta restart job_controller を発行する必要があります。
変更する設定ファイルが、SMTP サーバーとジョブコントローラの両方に影響を与えるコンパイル済みの設定に含まれる場合は、次のコマンドを発行する必要があります。
imsimta cnbuild imsimta restart smtp imsimta restart job_controller |
これらのコマンドの詳細については、『Sun Java System Messaging Server 6 2005Q4 Administration Reference』の「MTA Commands」を参照してください。
ほかにも、次の場合にジョブコントローラを再起動する必要があります。
コントローラ設定ファイルである job_controller.cnf や job_controller.site、または job_controller.cnf にインクルードされるいずれかのファイルを変更した場合。
imta.cnf ファイル内で、チャネルキーワード pool、maxjobs、master、slave、single、single_sys、multiple を追加または使用変更した場合。imta.cnf 内の threaddepth チャネルキーワードの追加または変更は、imsimta cache -change -thread_depth=... を使って処理できます。
コントローラが既存のチャネルジョブをタイムアウトするまで待つのではなく、マスターチャネルジョブへの変更が即座に反映されるようにする場合は、MTA 設定またはチャネルオプションファイルへの関連する (事実上ほぼ) すべての変更が対象になります。mappings ファイルまたは MTA データベースを変更する場合、次の点が当てはまります。(1) 通常、外部へ送信されるチャネルジョブとは関係がありません。ただし、これらは conversion、process、reprocess などの「中間」チャネルでは重要な意味を持つ場合があります。また、(2) これらの中間チャネルが関係する場合、mappings ファイルまたはデータベースへの変更は、多くの場合、imsimta reload を使って処理することで、ジョブコントローラの再起動を避けることができます。変更を直ちに反映することの利点と、ジョブコントローラを再起動することで発生するダメージとのバランスを取る必要があります。また、特定の種類のジョブを何らかの方法で実行するのにかかる時間も考慮する必要があります。
MTA の設定には、imta.cnf およびそれがインクルードするすべてのファイル (internet.rules など)、alias ファイル、mappings ファイル、conversions ファイル、option.dat ファイル (および前記のファイルに含まれるすべてのファイル)、imta.filter、reverse、forward、一般データファイルが含まれます。また、一部の configutil パラメータが含まれることもあります。
imta.cnf に対する前記の変更 (チャネル定義のキーワードの追加/変更) すべてで、imsimta cnbuild を実行する必要があります。これは、ジョブコントローラを再起動する必要があるかどうかに関係のない、基本的な手順です。
上記の条件のいずれかで再起動が必要である場合を除き、特にキュー内に多数のメッセージが存在する場合に、ジョブコントローラの再起動の回避を試みてください。
本稼働システムで、imsimta refresh コマンドを使用することはお勧めしません。これは、多くの場合ジョブコントローラの再起動は不要であり、ジョブコントローラを再起動することでメッセージの再試行がリセットされ、通知メッセージや戻されるメッセージなどの遅延が発生するためです。