高度なカスタマイズ > Info*Engine ユーザーガイド > Info*Engine カスタムタグリファレンス > Info*Engine タグ > core ライブラリのタグ > Task
  
Task
task タグは、実行する XML タスクを識別します。
このタグは unitinitparallelsuccess、および failure タグブロックにネストできます。
このタグブロックに param タグをネストすることによって、タスクのパラメータを指定できます。タスクパラメータを使用して以下の項目を設定できます。
タスクで利用できる VDB グループ。GROUP_IN タスクパラメータを指定すると、タスクで最初に利用できるグループを定義できます。
タスクの終了時に利用できる VDB グループ。GROUP_OUT タスクパラメータを指定すると、ネストされたタスクが実行されるタスクの VDB に返されるグループをフィルタできます。
デフォルトでは、最後に実行された Webject の GROUP_OUT パラメータが、返されるグループを識別します。GROUP_OUT Webject パラメータがない場合は、最後に VDB に追加されたグループが返されます。
最後の Webject によって複数のグループが返される場合 (Return-Groups Webject の場合にあり得る)、GROUP_OUT タスクパラメータ内のこれらのグループのサブセットを指定すると、返されるグループは呼び出し側タスクの VDB に制限されます。
タスクで利用できる @FORM コンテキストグループ変数。@FORM コンテキストグループ変数は、task タグブロックにネストされた param タグに指定するパラメータ名とデータのペアごとに設定します。この変数には、タスクに指定された GROUP_IN および GROUP_OUT パラメータが含まれます。
@FORM グループの GROUP_IN 変数には、タスクで最初に利用できる VDB グループの名前が保持されるので、@FORM グループの GROUP_IN 変数から値を読み取ることによって、VDB グループの名前を取得できます。
* 
Info*Engine の .secret.text タスクプロセッサまたは .secret.text2 および .secret.algorithm プロパティとともにこのタグを使用すると、リモートプロセッサがタスクを実行する前に検証を行うことができます。これらのプロパティの設定については、リクエスト検証の設定を参照してください。
構文
パラメータがある場合は、以下の構文を使用できます。
<ie:task uri="uri_task_source"
processor="processor1"
processor="processor2"
. . . processor="processorn"
resumable="[true|false]">
. . (param タグを使用してタスクのパラメータをネスト) .</ie:task>
パラメータがない場合は、以下の構文を使用できます。
<ie:task uri="uri_task_source"
processor="processor1"
processor="processor2"
. . . processor="processorn"
resumable="[true|false]"/>
属性の説明
必須属性: uri
processor
タスクが送信されて実行されるリモートの Info*Engine タスクプロセッサの名前を 1 つまたは複数指定します。指定した名前はそれぞれ、現在の環境から使用可能なタスクプロセッサにマッピングする必要があります。この属性に指定できる名前は、Info*Engine プロパティ管理ユーティリティからタスクプロセッサに定義されたサービス名です。
この属性はオプションです。この属性を指定しないと、task タグで指定されているタスクが、task タグを含んでいる JSP ページまたはタスクを現在実行しているタスクプロセッサによって実行されます。JSP ページの場合、デフォルトで使用されるタスクプロセッサは JSP エンジン内で実行されます。ネストされたタスクが JSP エンジンではなく Info*Engine Server タスクプロセッサ内で実行されるように指定するには、サーバータスクプロセッサを識別する processor 属性を指定する必要があります。たとえば、タスクプロセッサのデフォルト名が com.myCompany.server.taskProcessor である場合、以下の processor 属性を指定できます。
processor="com.myCompany.server.taskProcessor"
現在の環境でほかのタスクプロセッサを使用するように設定する場合は、選択する順に processor 属性にプロセッサ名を指定することによって、これらのいずれかのタスクプロセッサを選択するようにタスクに指定できます。たとえば、サイトで xxx.taskProcessor および yyy.taskProcesor を使用するように設定してあり、yyy.taskProcessor でタスクを実行するとします。このタスクを実行するには、task タグ内に以下の processor 属性を指定します。
<ie:task uri="task1.xml" processor="yyy.taskProcessor" processor=
"xxx.taskProcessor" processor="zzz.taskProcessor" />
3 番目に指定したプロセッサは zzz.taskProcessor です。ほかのプロセッサが両方とも使用できない場合にのみ使用されます。
resumable
この task タグで指定されているサブタスクを実行する前に VDB の状態を保存する必要があるかどうかを指定します。この属性は、保証されたタスク実行機能が使用可能になっており、task タグがタスクから実行される場合にのみ使用されます。
この属性を省略し (つまり、false に設定し)、保証されたタスク実行機能が使用可能になっている場合、Info*Engine はタスクを実行する前に VDB の状態を保存します。VDB の状態が保存されると、タスクを再実行する必要がある場合に VDB を復元できます。
この属性を true に設定し、保証されたタスク実行機能が使用可能になっている場合、Info*Engine はタスクを実行する前に VDB の状態を保存しません。タスクを再実行したときにタスクが同じ結果を生成しないようにする副作用を起こさずに実行できる場合は、resumabletrue に設定してください。
uri
実行する XML タスクファイルの場所である URI を指定します。URI は以下の相対 URI または絶対 URI のどちらかです。
相対 URI の参照ファイル。ローカル Info*Engine のタスクプロセッサに定義されたルートファイルシステムディレクトリに常駐します。
絶対 URI の参照ファイル。ローカルファイルシステム、またはリモート HTTP サーバーに常駐するか、またはアクセス可能な LDAP ディレクトリを介して参照されます。
この属性は必須です。
以下の例は、ページまたはタスクが Info*Engine の core タグライブラリのタグを使用し、タグに ie プリフィックスを使用することを宣言します。この task タグの例は、ローカルタスクプロセッサに定義されているルートファイルディレクトリにある task1.xml ファイルを実行します。ネストされたパラメータは FORM 変数 attr を ENAME に設定します。
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie" %>
<ie:task uri="task1.xml">
<ie:param name="attr" data="ENAME"/>
</ie:task>