fte: filecopy Ant タスク

fte:filecopy タスクは、 Managed File Transfer エージェント間でファイルをコピーします。 ファイルはソース・エージェントから削除されません。

属性

cmdqm
オプション。 要求の実行依頼先のコマンド・キュー・マネージャー。 この情報は、qmgrname@host@port@channelの形式で指定します。ここで、
  • qmgrnameはキュー・マネージャーの名前です
  • hostは、キュー・マネージャーが実行されているシステムのオプションのホスト名です。
  • portは、キュー・マネージャーが listen するオプションのポート番号です。
  • channelは、使用するオプションの SVRCONN チャネルです。
コマンド・キュー・マネージャーのhostport、またはchannel情報を省略すると、command.propertiesファイルに指定されている接続情報が使用されます。
重要: 値が指定されていない場合は、以下のようになります。
  • ホスト変数、バインディング・モードが使用される
  • ポート 変数。値 1414 が使用されます。
  • チャンネル変数の場合は SYSTEM.DEF.SVRCONN が使用されます。
詳しくは、 MFT command.properties ファイル を参照してください。

ただし、中央の属性 (qmgrname@host@@channelなど) をスキップすることはできません。 例えば、qmgrname@hostqmgrname@host@portqmgrname@hostport@@channelのいずれかを指定できます。

MFTは、@区切り文字を使用して、指定された属性を分割します。 検出されたトークンの数に応じて、最初のトークンは qmgrname、2 番目のトークンは host、3 番目のトークンは port、そして最後に channel となります。

詳しくは、 MFT command.properties ファイルを参照してください。
com.ibm.wmqfte.propertySetプロパティーを使用して、使用するcommand.propertiesファイルを指定できます。 詳しくは、 com.ibm.wmqfte.propertySetを参照してください。
cmdqm 属性を使用しない場合、タスクはデフォルトでcom.ibm.wmqfte.ant.commandQueueManagerプロパティーを使用します (このプロパティーが設定されている場合)。 com.ibm.wmqfte.ant.commandQueueManagerプロパティーが設定されていない場合、command.propertiesファイルに定義されているデフォルト・キュー・マネージャーへの接続が試行されます。 com.ibm.wmqfte.ant.commandQueueManagerプロパティーの形式は、cmdqm 属性と同じです。つまり、qmgrname@host@port@channelです。
dst
必須。 copy 操作の宛先エージェントを指定します。 agentname@qmgrnameの形式で情報を指定します。ここで、agentnameは宛先エージェントの名前、qmgrnameはこのエージェントが直接接続されているキュー・マネージャーの名前です。
idproperty
deferoutcomeを指定していない場合はオプションです。 転送 ID を割り当てるプロパティーの名前を指定します。 転送 ID は、転送要求が実行依頼された時点で生成されます。この転送 ID を使用して、転送の進行の追跡、転送で生じた問題の診断、および転送の取り消しを行うことができます。
ignoreoutcomeプロパティーも指定した場合は、このプロパティーを指定できません。 ただし、deferoutcomeプロパティーも指定した場合は、idpropertyを指定する必要があります。
jobname
オプション。 ジョブ名を copy 要求に割り当てます。 ジョブ名を使用して、論理転送グループを作成できます。 疑似固有ジョブ名を生成するには、 fte: uuid Ant タスク を使用します。 jobname 属性を使用しない場合、タスクはデフォルトでcom.ibm.wmqfte.ant.jobNameプロパティー値を使用します (このプロパティーが設定されている場合)。 このプロパティーが設定されていない場合には、copy 要求に関連付けられるジョブ名はありません。
origuser
オプション。 copy 要求に関連付ける発信ユーザー ID を指定します。 origuser 属性を使用しない場合、タスクはデフォルトで Ant スクリプトの実行に使用されるユーザー ID を使用します。
outcome
オプション。 タスクが Ant スクリプトに制御を返す前に、コピー操作の完了を待機するかどうかを決定します。 以下のいずれかのオプションを指定します。
await
タスクは、戻る前に copy 操作が完了するまで待機します。 awaitoutcomeが指定されている場合、idproperty属性はオプションです。
defer
このタスクは、コピー要求が実行依頼されるとすぐに戻り、 fte: awaitoutcome Ant タスク または fte: ignoreoutcome Ant タスク のいずれかのタスクを使用して、コピー操作の結果が後で処理されることを想定します。 deferoutcomeが指定されている場合、idproperty属性は必須です。
ignore
コピー操作の結果が重要でない場合は、ignoreの値を指定できます。 この値を指定した場合、タスクは、転送結果を追跡するためのリソースを割り当てずに、copy 要求が実行依頼されるとすぐに戻ります。 ignoreoutcomeが指定されている場合、idproperty属性を指定することはできません。
outcome 属性を指定しない場合、タスクはデフォルトで値awaitを使用します。
priority
オプション。 copy 要求に関連付ける優先順位を指定します。 一般に、優先順位が高い転送要求が、優先順位が低い要求より優先されます。 優先順位の値は、0 以上 9 以下の範囲で指定する必要があります。 優先順位値 0 は最低の優先順位であり、値 9 は最高の優先順位です。 priority属性を指定しない場合、転送の優先順位はデフォルトの 0 になります。
rcproperty
オプション。 copy 要求の結果コードを割り当てるプロパティーの名前を指定します。 結果コードには、copy 要求の全体的結果が反映されます。
ignoreまたはdeferoutcomeプロパティーも指定した場合は、このプロパティーを指定できません。 ただし、awaitの結果を指定する場合は、rcpropertyを指定する必要があります。
transferRecoveryTimeout
オプション。 停止したファイル転送のリカバリーをソース・エージェントが試行し続ける時間 (秒単位) を設定します。 以下のいずれかのオプションを指定します。
-1
エージェントは、停止した転送のリカバリーを、転送が完了するまで試行し続けます。 このオプションを使用すると、このプロパティーを設定しない場合のエージェントのデフォルトの動作と同じになります。
0
エージェントは、リカバリーに入るとすぐにファイル転送を停止します。
>0
エージェントは、指定された正整数値で設定された時間 (秒単位) だけ、停止した転送のリカバリーを試行し続けます。 例えば、
<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>
これは、エージェントがリカバリーに入ってから 6 時間にわたって転送のリカバリーを試行し続けることを示しています。 この属性の最大値は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、および出口が成功状態を戻さない場合、規則では以下で指定された順序になります。
  1. ソース開始出口を実行します。 ソース開始出口が失敗すると、転送は失敗し、それ以降何も実行されません。
  2. 事前ソース呼び出しを実行します (存在する場合)。 事前ソース呼び出しが失敗すると、転送は失敗し、それ以降何も実行されません。
  3. 宛先開始出口を実行します。 宛先開始出口が失敗すると、転送は失敗し、それ以降何も実行されません。
  4. 事前宛先呼び出しを実行します (存在する場合)。 事前宛先呼び出しが失敗すると、転送は失敗し、それ以降何も実行されません。
  5. ファイル転送を実行します。
  6. 宛先終了出口を実行します。 これらの出口に失敗状況はありません。
  7. 正常に転送された場合 (一部のファイルが正常に転送され、転送が成功したと判断される場合) は、事後宛先呼び出しがあれば、それを実行します。 事後宛先呼び出しが失敗すると、転送は失敗します。
  8. ソース終了出口を実行します。 これらの出口に失敗状況はありません。
  9. 正常に転送された場合は、事後ソース呼び出しがあれば、それを実行します。 事後ソース呼び出しが失敗すると、転送は失敗します。

この例は、agent1agent2の間の基本的なファイル転送を示しています。 ファイル転送を開始するコマンドは、クライアント・トランスポート・モード接続を使用して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>