管理対象呼び出し

Managed File Transfer (MFT) エージェントは、通常、ファイルまたはメッセージの転送に使用されます。 これらは 管理対象転送と呼ばれます。 エージェントは、ファイルやメッセージを転送することなく、コマンド、スクリプト、または JCL を実行するためにも使用できます。 この機能は、 管理対象呼び出しと呼ばれます。

管理対象呼び出し要求は、以下のいくつかの方法でエージェントに実行依頼できます。

管理対象呼び出しの場合、エージェント・プロパティー commandPathに、実行されるコマンドまたはスクリプトを含むディレクトリーを指定する必要があります。

管理対象呼び出しは、エージェントの commandPathで指定されていないディレクトリーにあるコマンドやスクリプトを実行することはできません。 これは、エージェントが悪意のあるコードを実行しないようにするためです。

さらに、エージェントの権限検査を有効にして、許可されたユーザーのみが管理対象呼び出し要求を実行依頼できるようにすることもできます。 これについて詳しくは、 MFT エージェント・アクションに対するユーザー権限の制限を参照してください。

管理対象呼び出しの一部として呼び出されるコマンド、スクリプト、または JCL は、エージェントによってモニターされる外部プロセスとして実行されます。 プロセスが終了すると、管理対象呼び出しが完了し、 fte:call Ant タスクを呼び出したエージェントまたは Ant スクリプトのいずれかが、プロセスからの戻りコードを使用できるようになります。

管理対象呼び出しが fte:call Ant タスクによって開始された場合、 Ant スクリプトは戻りコードの値を検査して、管理対象呼び出しが成功したかどうかを判別できます。

その他のすべてのタイプの管理対象呼び出しでは、管理対象呼び出しが正常に完了したことを示すために使用する戻りコード値を指定できます。 エージェントは、外部プロセスの終了時に、プロセスからの戻りコードをこれらの戻りコードと比較します。
注: 管理対象呼び出しは外部プロセスとして実行されるため、いったん開始すると取り消すことはできません。

管理対象コールとソース転送スロット

エージェントには、 拡張エージェント・プロパティー: 転送制限で説明されているように、エージェント・プロパティー maxSourceTransfersで指定された数のソース転送スロットが含まれています。

管理対象呼び出しまたは管理対象転送が実行されるたびに、ソース転送スロットが占有されます。 このスロットは、管理対象通話または管理対象転送が完了すると解放されます。

エージェントが新規の管理対象呼び出し要求または管理対象転送要求のいずれかを受信したときに、すべてのソース転送スロットが使用中である場合、スロットが使用可能になるまで、要求はエージェントによってキューに入れられます。

管理対象呼び出しが管理対象転送を開始する場合 (例えば、管理対象呼び出しが Antスクリプトを実行し、その Ant スクリプトが fte: filecopy タスクまたは fte: filemove タスクを使用してファイルを転送する場合)、以下の 2 つのソース転送スロットが必要です。
  • 1 つは管理対象転送用
  • 1 つは管理対象呼び出し用

この状況では、管理対象転送が完了するのに時間がかかるか、リカバリーに入る場合、管理対象転送が完了するか、取り消されるか、transferRecoveryTimeout が原因でタイムアウトになるまで、2 つのソース転送スロットが占有されることに注意してください ( transferRecoveryTimeoutの詳細については、 転送リカバリー・タイムアウトの概念 を参照してください)。 これにより、エージェントが処理できる他の管理対象転送または管理対象呼び出しの数が制限される可能性があります。

このため、長期間ソース転送スロットを占有しないようにするために、管理対象呼び出しの設計を検討する必要があります。