MFT ユーザー出口用のエージェント・プロパティー

agent.properties ファイル内の標準プロパティーに加えて、ユーザー出口ルーチン専用の拡張プロパティーがいくつかあります。 これらのプロパティーは、デフォルトでは含まれていないため、いずれかのプロパティーを使用する場合は、 agent.properties ファイルを手動で編集する必要があります。 エージェントの実行中に agent.properties ファイルに変更を加える場合は、エージェントを停止してから再始動して、変更を反映させます。

IBM® WebSphere® MQ 7.5以降の場合、ファイルまたはディレクトリーの場所を表す一部のManaged File Transferプロパティーで環境変数を使用できます。 これにより、製品の一部の実行時に使用されるファイルまたはディレクトリーの場所を、環境の変更 (プロセスを実行しているユーザーなど) に合わせて変えることができます。 詳しくは、 MFT プロパティーの環境変数を参照してください。

ユーザー出口ルーチン・プロパティー

ユーザー出口ルーチンは、以下の表にリストされている順序で呼び出されます。 agent.propertiesファイルについて詳しくは、拡張エージェント・プロパティー: ユーザー出口ルーチンを参照してください。

表 1. ユーザー出口用のエージェント・プロパティー
プロパティー名 説明
sourceTransferEndExitClasses ソース転送終了出口ルーチンを実装するクラスのコンマ区切りリストを指定します。
sourceTransferStartExitClasses ソース転送開始出口ルーチンを実装するクラスのコンマ区切りリストを指定します。
destinationTransferStartExitClasses 宛先転送開始ユーザー出口ルーチンを実装するクラスのコンマ区切りリストを指定します。
destinationTransferEndExitClasses 宛先転送ユーザー出口ルーチンを実装するクラスのコンマ区切りリストを指定します。
exitClassPath ユーザー出口ルーチンのクラスパスの役割を果たす、プラットフォーム固有のディレクトリーの文字区切りリストを指定します。

エージェントの出口ディレクトリーは、このクラスパスにある項目の前に検索されます。

このプロパティを Windows で使用する場合、パスの区切り文字としてバックスラッシュ文字 (\) ではなく、フォワードスラッシュ文字 (/) を使用します。例えば次のようにします。
exitClassPath=C:/mycomp/mqft/exits/encryptFileExit.jar;
C:/mycomp/mqft/exits/fileFilter.jar. 

IBM WebSphere MQ 7.5 以降の場合、このプロパティーの値には環境変数を含めることができます。

exitNativeLibraryPath ユーザー出口ルーチンのネイティブ・ライブラリー・パスの役割を果たす、プラットフォーム固有のディレクトリーの文字区切りリストを指定します。

IBM WebSphere MQ 7.5 以降の場合、このプロパティーの値には環境変数を含めることができます。

monitorExitClasses モニター出口ルーチンを実装するクラスのコンマ区切りリストを指定します。 詳しくは、 MFT リソース・モニター・ユーザー出口を参照してください。
protocolBridgeCredentialExitClasses プロトコル・ブリッジ資格情報ユーザー出口ルーチンを実装するクラスのコンマ区切りリストを指定します。 詳しくは、 出口クラスを使用したファイル・サーバーの資格情報のマッピングを参照してください。
protocolBridgePropertiesExitClasses プロトコル・ブリッジ・サーバー・プロパティー・ユーザー出口ルーチンを実装するクラスのコンマ区切りリストを指定します。 詳しくは、 ProtocolBridgePropertiesExit2: プロトコル・ファイル・サーバー・プロパティーの検索を参照してください。
IOExitClasses 入出力ユーザー出口ルーチンを実装するクラスのコンマ区切りリストを指定します。 IOExit インターフェースを実装するクラスのみリストします。つまり、IOExitResourcePath や IOExitChannel などの他の入出力ユーザー出口インターフェースを実装するクラスはリストしないでください。 詳しくは、 MFT 転送入出力ユーザー出口の使用を参照してください。

出口の起動順序

ソース出口および宛先出口は、次の順序で起動されます。
  1. SourceTransferStartExit
  2. DestinationTransferStartExit
  3. DestinationTransferEndExit
  4. SourceTransferEndExit

ソース出口および宛先出口のチェーニング

複数の出口を指定する場合は、リスト中の最初の出口が最初に起動され、次に 2 番目の出口、という順序で起動されます。 最初の出口で発生した変更内容は次に起動される出口の入力として渡されます。後続の出口についても同様です。 例えば、ソース転送開始出口が 2 つあり、最初の出口による転送メタデータへの変更内容は、2 番目の出口に入力されます。 それぞれの出口が独自の結果を返します。 特定のタイプのすべての出口が転送結果コードとして PROCEED を返すと、全体的な結果は PROCEED になります。 1 つ以上の出口が CANCEL_TRANSFER を返すと、全体的な結果は CANCEL_TRANSFER になります。 出口から返された結果コードおよびストリングはすべて、転送ログに出力されます。

ソース転送開始出口からの全体的な結果が PROCEED であった場合は、出口が行った変更を使用して転送が開始します。 全体的な結果が CANCEL_TRANSFER であった場合、ソース転送終了出口が起動された後、転送は取り消されます。 転送ログにおける完了状況は、「取り消し済み」になります。

宛先転送開始出口からの全体的な結果が PROCEED であった場合は、出口が行った変更を使用して転送が開始します。 全体的な結果が CANCEL_TRANSFER であった場合、 宛先転送終了出口が起動された後、ソース転送終了出口が 起動されます。 最後に転送が取り消されます。 転送ログにおける完了状況は、「取り消し済み」になります。

ソースまたは宛先出口が、チェーンで、または実行順に、情報を次の出口に渡す必要がある場合は、転送メタデータを更新することによって行う必要があります。 転送メタデータの使用は、出口インプリメンテーションに固有です。 例えば、出口が戻りの結果を CANCEL_TRANSFER に設定し、転送がキャンセルされたことを次の出口に伝達する必要がある場合は、他の出口が理解できるように転送メタデータの値を設定することによって行う必要があります。

sourceTransferStartExitClasses=com.ibm.wmqfte.test.MFTTestSourceTransferStartExit
sourceTransferEndExitClasses=com.ibm.wmqfte.test.MFTTestSourceTransferEndExit
destinationTransferStartExitClasses=com.ibm.wmqfte.test.MFTTestDestinationTransferStartExit
destinationTransferEndExitClasses=com.ibm.wmqfte.test.MFTTestDestinationTransferEndExit
exitClassPath=C:/mycomp/mqft/exits/encryptFileExit.jar;C:/mycomp/mqft/exits/fileFilter.jar