fte: filecopy Ant タスク
fte:filecopy タスクは、 Managed File Transfer エージェント間でファイルをコピーします。 ファイルはソース・エージェントから削除されません。
属性
- cmdqm
- オプション。 要求の実行依頼先のコマンド・キュー・マネージャー。 この情報は、
qmgrname@host@port@channelの形式で指定します。ここで、qmgrnameはキュー・マネージャーの名前ですhostは、キュー・マネージャーが実行されているシステムのオプションのホスト名です。portは、キュー・マネージャーが listen するオプションのポート番号です。channelは、使用するオプションの SVRCONN チャネルです。
host、port、またはchannel情報を省略すると、command.propertiesファイルに指定されている接続情報が使用されます。重要: 値が指定されていない場合は、以下のようになります。- ホスト変数、バインディング・モードが使用される
- ポート 変数。値 1414 が使用されます。
- チャンネル変数の場合は SYSTEM.DEF.SVRCONN が使用されます。
ただし、中央の属性 (
qmgrname@host@@channelなど) をスキップすることはできません。 例えば、qmgrname@host、qmgrname@host@port、qmgrname@hostport@@channelのいずれかを指定できます。MFTは、
@区切り文字を使用して、指定された属性を分割します。 検出されたトークンの数に応じて、最初のトークンは qmgrname、2 番目のトークンは host、3 番目のトークンは port、そして最後に channel となります。 - dst
- 必須。 copy 操作の宛先エージェントを指定します。
agentname@qmgrnameの形式で情報を指定します。ここで、agentnameは宛先エージェントの名前、qmgrnameはこのエージェントが直接接続されているキュー・マネージャーの名前です。 - idproperty
deferのoutcomeを指定していない場合はオプションです。 転送 ID を割り当てるプロパティーの名前を指定します。 転送 ID は、転送要求が実行依頼された時点で生成されます。この転送 ID を使用して、転送の進行の追跡、転送で生じた問題の診断、および転送の取り消しを行うことができます。- jobname
- オプション。 ジョブ名を copy 要求に割り当てます。 ジョブ名を使用して、論理転送グループを作成できます。 疑似固有ジョブ名を生成するには、 fte: uuid Ant タスク を使用します。 jobname 属性を使用しない場合、タスクはデフォルトで
com.ibm.wmqfte.ant.jobNameプロパティー値を使用します (このプロパティーが設定されている場合)。 このプロパティーが設定されていない場合には、copy 要求に関連付けられるジョブ名はありません。 - origuser
- オプション。 copy 要求に関連付ける発信ユーザー ID を指定します。 origuser 属性を使用しない場合、タスクはデフォルトで Ant スクリプトの実行に使用されるユーザー ID を使用します。
- outcome
- オプション。 タスクが Ant スクリプトに制御を返す前に、コピー操作の完了を待機するかどうかを決定します。 以下のいずれかのオプションを指定します。
- await
- タスクは、戻る前に copy 操作が完了するまで待機します。
awaitのoutcomeが指定されている場合、idproperty属性はオプションです。 - defer
- このタスクは、コピー要求が実行依頼されるとすぐに戻り、 fte: awaitoutcome Ant タスク または fte: ignoreoutcome Ant タスク のいずれかのタスクを使用して、コピー操作の結果が後で処理されることを想定します。
deferのoutcomeが指定されている場合、idproperty属性は必須です。 - ignore
- コピー操作の結果が重要でない場合は、
ignoreの値を指定できます。 この値を指定した場合、タスクは、転送結果を追跡するためのリソースを割り当てずに、copy 要求が実行依頼されるとすぐに戻ります。ignoreのoutcomeが指定されている場合、idproperty属性を指定することはできません。
awaitを使用します。 - priority
- オプション。 copy 要求に関連付ける優先順位を指定します。 一般に、優先順位が高い転送要求が、優先順位が低い要求より優先されます。 優先順位の値は、0 以上 9 以下の範囲で指定する必要があります。 優先順位値 0 は最低の優先順位であり、値 9 は最高の優先順位です。
priority属性を指定しない場合、転送の優先順位はデフォルトの 0 になります。 - rcproperty
- オプション。 copy 要求の結果コードを割り当てるプロパティーの名前を指定します。 結果コードには、copy 要求の全体的結果が反映されます。
- transferRecoveryTimeout
- オプション。 停止したファイル転送のリカバリーをソース・エージェントが試行し続ける時間 (秒単位) を設定します。 以下のいずれかのオプションを指定します。
-1- エージェントは、停止した転送のリカバリーを、転送が完了するまで試行し続けます。 このオプションを使用すると、このプロパティーを設定しない場合のエージェントのデフォルトの動作と同じになります。
0- エージェントは、リカバリーに入るとすぐにファイル転送を停止します。
>0- エージェントは、指定された正整数値で設定された時間 (秒単位) だけ、停止した転送のリカバリーを試行し続けます。 例えば、
これは、エージェントがリカバリーに入ってから 6 時間にわたって転送のリカバリーを試行し続けることを示しています。 この属性の最大値は<fte:filecopy cmdqm="qm0@localhost@1414@SYSTEM.DEF.SVRCONN" src="agent1@qm1" dst="agent2@qm2" rcproperty="copy.result" transferRecoveryTimeout="21600"> <fte:filespec srcfilespec="/home/fteuser1/file.bin" dstfile="/home/fteuser2/file.bin"/> </fte:filecopy>999999999です。
このように指定した場合、転送のリカバリー・タイムアウト値は転送単位で設定されます。 Managed File Transfer ネットワーク内のすべての転送にグローバル値を設定するには、 転送リカバリー・タイムアウト・プロパティーにプロパティーを追加します。 詳しくは、 リカバリー中の転送のタイムアウト・オプションを参照してください。
- src
- 必須。 copy 操作のソース・エージェントを指定します。 この情報は、agentname@qmgrname という形式で指定します (ここで、agentname はソース・エージェントの名前、 qmgrname は、当該エージェントが直接接続されている先のキュー・マネージャーの名前)。
ネスト・エレメントとして指定するパラメーター
- fte:filespec
- 必須。 コピーするファイルを識別するファイル指定を少なくとも 1 つ指定する必要があります。 必要に応じて複数のファイル指定を指定できます。 詳しくは、 fte: filespec Ant のネストされたエレメント を参照してください。
- fte:metadata
- copy 操作に関連付けるメタデータを指定できます。 このメタデータは転送とともに渡され、転送によって生成されたログ・メッセージに記録されます。 特定の転送エレメントには、単一のメタデータ・ブロックのみを関連付けることができます。ただし、このブロックには、多くのメタデータを含めることができます。 詳しくは、 fte: metadata のトピックを参照してください。
- fte:presrc
- 転送開始前にソース・エージェントで行うプログラム呼び出しを指定します。 特定の転送に関連付けることができる
fte:presrcエレメントは 1 つのみです。 詳しくは、 プログラム呼び出し のトピックを参照してください。 - fte:predst
- 転送開始前に宛先エージェントで行うプログラム呼び出しを指定します。 特定の転送に関連付けることができる
fte:predstエレメントは 1 つのみです。 詳しくは、 プログラム呼び出し のトピックを参照してください。 - fte:postsrc
- 転送完了後にソース・エージェントで行うプログラム呼び出しを指定します。 特定の転送に関連付けることができる
fte:postsrcエレメントは 1 つのみです。 詳しくは、 プログラム呼び出し のトピックを参照してください。 - fte:postdst
- 転送完了後に宛先エージェントで行うプログラム呼び出しを指定します。 特定の転送に関連付けることができる
fte:postdstエレメントは 1 つのみです。 詳しくは、 プログラム呼び出し のトピックを参照してください。
fte:presrc、fte:predst、fte:postsrc、
fte:postdst、および出口が成功状態を戻さない場合、規則では以下で指定された順序になります。
- ソース開始出口を実行します。 ソース開始出口が失敗すると、転送は失敗し、それ以降何も実行されません。
- 事前ソース呼び出しを実行します (存在する場合)。 事前ソース呼び出しが失敗すると、転送は失敗し、それ以降何も実行されません。
- 宛先開始出口を実行します。 宛先開始出口が失敗すると、転送は失敗し、それ以降何も実行されません。
- 事前宛先呼び出しを実行します (存在する場合)。 事前宛先呼び出しが失敗すると、転送は失敗し、それ以降何も実行されません。
- ファイル転送を実行します。
- 宛先終了出口を実行します。 これらの出口に失敗状況はありません。
- 正常に転送された場合 (一部のファイルが正常に転送され、転送が成功したと判断される場合) は、事後宛先呼び出しがあれば、それを実行します。 事後宛先呼び出しが失敗すると、転送は失敗します。
- ソース終了出口を実行します。 これらの出口に失敗状況はありません。
- 正常に転送された場合は、事後ソース呼び出しがあれば、それを実行します。 事後ソース呼び出しが失敗すると、転送は失敗します。
例
この例は、
agent1とagent2の間の基本的なファイル転送を示しています。 ファイル転送を開始するコマンドは、クライアント・トランスポート・モード接続を使用してqm0,というキュー・マネージャーに送信されます。 ファイル転送操作の結果は、copy.resultというプロパティーに割り当てられます。<fte:filecopy cmdqm="qm0@localhost@1414@SYSTEM.DEF.SVRCONN"
src="agent1@qm1" dst="agent2@qm2"
rcproperty="copy.result">
<fte:filespec srcfilespec="/home/fteuser1/file.bin" dstfile="/home/fteuser2/file.bin"/>
</fte:filecopy>
この例は、同じファイル転送を示していますが、転送の完了後にソース・エージェントでメタデータとプログラムの追加が行われるようになります。
<fte:filecopy cmdqm="qm0@localhost@1414@SYSTEM.DEF.SVRCONN"
src="agent1@qm"1 dst="agent2@qm2"
rcproperty="copy.result">
<fte:metadata>
<fte:entry name="org.example.departId" value="ACCOUNTS"/>
<fte:entry name="org.example.batchGroup" value="A1"/>
</fte:metadata>
<fte:filespec srcfilespec="/home/fteuser1/file.bin" dstfile="/home/fteuser2/file.bin"/>
<fte:postsrc command="/home/fteuser2/scripts/post.sh" successrc="1" >
<fte:arg value="/home/fteuser2/file.bin"/>
</fte:postsrc>
</fte:filecopy>