WebSphere Extended Deployment, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows, z/OS

xJCL エレメント

ジョブは xJCL (XML ジョブ制御言語) と呼ばれる Extensible Markup Language (XML) の方言を使用して表現されます。xJCL のエレメントのなかには、数値計算ジョブまたはバッチ・ジョブのいずれかにしか適用できないものも一部ありますが、xJCL には、数値計算ジョブおよびバッチ・ジョブの両方に必要なすべての情報を表現するための構文があります。 xJCL についての詳細は、サンプル・アプリケーションに提供されている xJCL、 xJCL テーブルおよび xJCL XSD スキーマ文書を参照してください。 ジョブの xJCL 定義は、長時間実行アプリケーションの一部ではないことに注意してください。 これは別個に構成され、実行のために長時間実行スケジューラーに実行依頼されます。 長時間実行スケジューラーは xJCL 内の情報を使用して、 ジョブを実行する場所と時間を決定します。

以下のテーブルに、xJCL エレメントを要約します。

Table 1. xJCL エレメント
エレメント 数値計算 バッチ サブエレメント 属性 説明
job Y Y     有効範囲はバッチ・ジョブの記述です。
  Y Y   name ジョブの名前。この名前は長時間実行アプリケーションの名前と一致しなければなりません。
  Y Y jndi-name   長時間実行アプリケーションが WebSphere Application Server にデプロイされる際に、 ジョブ・コントローラー・ステートレス・セッション Bean に指定される JNDI 名。
  Y Y step-scheduling-criteria step-scheduling-criteria エレメントを参照してください  
  N Y checkpoint-algorithm checkpoint-algorithm エレメントを参照してください  
  Y Y job-step job-step エレメントを参照してください  
job-step          
  Y* Y   name ステップの名前。この情報は、作動可能なコマンドで戻されます。
  N Y step-scheduling step-scheduling エレメントを参照してください バッチ・ステップを起動する必要があるかどうかを決定するステップの戻りコードに 基づく、条件付きロジックを許可します。
  N Y checkpoint-algorithm-ref checkpoint-algorithm-ref エレメントを参照してください バッチ・ジョブ・ステップに対して使用するチェックポイント・アルゴリズムを指定します。
  Y N classname   数値計算ジョブをインプリメントするクラスの完全修飾名。
  N Y JNDI-name   バッチ・ジョブ・ステップをロードするためにバッチ実行環境が使用するエンティティー Bean (バッチ・ステップ Bean) のホームの論理 JNDI 名です。
      props props エレメントを参照してください ステップに渡す名前値プロパティー
  N Y batch-data-streams batch-data-streams エレメントを参照してください 一連の bds エレメントです。各 bds は、バッチ・データ・ストリームを作成するために必要な構成情報です。
prop Y Y     プロパティーとして機能する、名前値ペアの単一インスタンス。
        name プロパティーの名前。
        value プロパティーの値。
props Y Y     名前値ペアのプロパティーをステップ、 bds、チェックポイント・アルゴリズム、および結果アルゴリズムに渡すために使用する一連の prop エレメント。
      prop prop エレメントを参照してください。  
bds N Y     使用するバッチ・ジョブで使用可能にされるバッチ・データ・ストリーム・インプリメンテーションの単一インスタンス。
      logical-name   logical-name は、バッチ・ステップがバッチ実行環境に対して特定のバッチ・データ・ストリーム・インスタンスを要求する際に使用する、バッチ・ステップに組み込まれたストリングです。
      impl-class   バッチ・データ・ストリーム・インプリメンテーション・クラスの完全修飾クラス名。
      props props エレメントを参照してください バッチ・データ・ストリーム・インプリメンテーション・クラスに渡されるプロパティーのリスト。
batch-data-streams N Y     一連の bds エレメント
      bds bds エレメントを参照してください  
step-scheduling N Y     バッチ・ジョブに対して戻りコード・ベースの条件フローを作成するため、job-step に適用できます。 このバッチ・ジョブ用に定義された戻りコードの値を比較して、バッチ・ジョブの処理中にステップを起動する必要があるかどうかを 決定することができます。戻りコードの値は、returncode-expression エレメントを使用して比較されます。
      returncode- expression returncode-expression を参照してください 評価対象の returncode-expression。
        condition 複数の returncode-expression エレメントが step-scheduling エレメントにある場合、条件演算子をそれらに適用することができます。 サポートされる条件演算子は、AND、OR です。
returncode-expression N Y     バッチ・ジョブ・ステップを他のジョブ・ステップの戻りコードに基づいて実行すべきかどうかを判断する step-scheduling タグの下で使用されます。
        step この式で戻りコードが比較されるステップの名前です。
        operator 戻りコードの式に使用する演算子です。 サポートされる演算子は、eq (等しい)、lt (より小)、gt (より大)、 le (より小か等しい)、ge (より大か等しい) です。
        value 戻りコードを比較するための値。
step-scheduling-criteria N Y     ジョブ・ステップが処理される順序を記述します。 現在、順次スケジューリングがサポートされています。 つまり、ステップは xJCL で表示される順に起動されます。
      scheduling-mode   ステップを起動する順序。 現在、可能な値は sequential のみです。
checkpoint-algorithm N Y     バッチ・ジョブ・ステップに使用できるチェックポイント・アルゴリズムを宣言します。
        name アルゴリズムの名前。
      classname   このアルゴリズムをインプリメントするクラス。
      props props エレメントを参照してください チェックポイント・アルゴリズム用の一連の prop エレメント。
checkpoint-algorithm-ref N Y     チェックポイント・アルゴリズム・エレメントへの参照。
        name 参照されるチェックポイント・アルゴリズムの名前。
      props props エレメントを参照してください チェックポイント・アルゴリズム用の一連の prop エレメント。

* 単一ステップの数値計算ジョブのみがサポートされています。

xJCL の XML スキーマ

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:element name="classname" type="xsd:string" />
<xsd:element name="impl-class" type="xsd:string" />
<xsd:element name="jndi-name" type="xsd:string" />
<xsd:element name="logical-name" type="xsd:string" />
<xsd:element name="scheduling-mode" type="xsd:string" />

<xsd:element name="batch-data-streams">
	<xsd:complexType>
		<xsd:sequence>
		 <xsd:element maxOccurs="unbounded" minOccurs="1" ref="bds"/>
		</xsd:sequence>
	</xsd:complexType>
 </xsd:element>

 <xsd:element name="bds">
   <xsd:complexType>
 	     <xsd:sequence>
 	  <xsd:element ref="logical-name" minOccurs="1" maxOccurs="1"/ >
	  <xsd:element ref="impl-class" minOccurs="1" maxOccurs="1"/ >
	  <xsd:element ref="props" minOccurs="0" maxOccurs="1"/ >
	     </xsd:sequence>
   </xsd:complexType>
 </xsd:element>
 
<xsd:element name="checkpoint-algorithm">
   <xsd:complexType>
     <xsd:sequence>
	  <xsd:element ref="classname" minOccurs="1" maxOccurs="1"/>	
	  <xsd:element ref="props" minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
	<xsd:attribute name="name" type="xsd:string" use="required" />
  </xsd:complexType>
</xsd:element>
 
<xsd:element name="checkpoint-algorithm-ref">
	<xsd:complexType>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
	</xsd:complexType>
 </xsd:element>
 
 <xsd:element name="results-algorithm">
	<xsd:complexType>
		<xsd:sequence>
			<xsd:element ref="classname" minOccurs="1" maxOccurs="1"/>
			<xsd:element ref="props" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
 </xsd:element>

 <xsd:element name="results-algorithms">
   <xsd:complexType>
	     <xsd:sequence>
	  <xsd:element maxOccurs="unbounded" minOccurs="1" ref="results- 
         algorithm" />
	     </xsd:sequence>
  </xsd:complexType>
 </xsd:element>

 <xsd:element name="results-ref">
	<xsd:complexType>
	   <xsd:attribute name="name" type="xsd:string" use="required"/>
	</xsd:complexType>
 </xsd:element>
 
 
 <xsd:element name="job">
   <xsd:complexType>
    <xsd:sequence>
	<xsd:element ref="jndi-name" minOccurs="1" maxOccurs="1"/>
	<xsd:element ref="step-scheduling-criteria" minOccurs="1" 
        maxOccurs="1"/>
	<xsd:element ref="checkpoint-algorithm" maxOccurs="unbounded"
        <minOccurs="1"/>
	<xsd:element ref="results-algorithms" maxOccurs="1"  minOccurs="0"/>
	<xsd:element ref="job-step" maxOccurs="unbounded" minOccurs="1" />
    </xsd:sequence>
    		<xsd:attribute name="name" type="xsd:string" use="required" />
   </xsd:complexType>
 </xsd:element>

 <xsd:element name="job-step">
   <xsd:complexType>
  	     <xsd:sequence>
 	  <xsd:choice>
 		<!-- jndi-name for batch jobs -->
 	 		<xsd:element ref="jndi-name" minOccurs="1" maxOccurs="1"/>
		<!-- classname for compute intensive jobs -->
 	 		<xsd:element ref="classname" minOccurs="1" maxOccurs="1"/>
 	  </xsd:choice>
	  <xsd:element ref="step-scheduling" minOccurs="0" maxOccurs="1"/>
	  <xsd:element ref="checkpoint-algorithm-ref" minOccurs="0" 
         maxOccurs="1"/>
	  <xsd:element ref="batch-data-streams" minOccurs="0" maxOccurs="1"/>
	  <xsd:element ref="props" minOccurs="0" maxOccurs="1"/>
        		  <xsd:element ref="results-ref" minOccurs="0" maxOccurs="unbounded"/>		
	     </xsd:sequence>
	    <xsd:attribute name="name" type="xsd:string" use="optional" />
   </xsd:complexType>
</xsd:element>


 <xsd:element name="prop">
	<xsd:complexType>
		<xsd:attribute name="name" type="xsd:string" use="required" />
		<xsd:attribute name="value" type="xsd:string" use="required" />
	</xsd:complexType>
 </xsd:element>

 <xsd:element name="props">
 	<xsd:complexType>
   	     <xsd:sequence>
		<xsd:element ref="prop" maxOccurs="unbounded" minOccurs="1"/>
	     </xsd:sequence>
	</xsd:complexType>
 /xsd:element

 <xsd:element name="returncode-expression">
	<xsd:complexType>
	   <xsd:attribute name="step" type="xsd:string" use="required" />
	   <xsd:attribute name="operator" type="xsd:string" use="required" />
	   <xsd:attribute name="value" type="xsd:string" use="required" />
	</xsd:complexType>
 </xsd:element>


 <xsd:element name="step-scheduling">
	<xsd:complexType>
	     <xsd:sequence>
	    <xsd:element ref="returncode-expression" minOccurs="1" 
           maxOccurs="unbounded"/>
        </xsd:sequence>
	  <xsd:attribute name="condition" type="xsd:string" use="required" />
	</xsd:complexType>
 </xsd:element>
 
 <xsd:element name="step-scheduling-criteria">
    <xsd:complexType>
	     <xsd:sequence>
		<xsd:element ref="scheduling-mode" minOccurs="1" maxOccurs="1"/>
	     </xsd:sequence>
    </xsd:complexType>
 </xsd:element>

</xsd:schema>

 

バッチ・ジョブの xJCL サンプル

<?xml version="1.0" encoding="UTF-8"?>

<job name="SampleEar" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

   <jndi-name>ejb/com/ibm/websphere/samples/PostingsJob</jndi-name>
     <step-scheduling-criteria>
         <scheduling-mode>sequential</scheduling-mode>
     </step-scheduling-criteria>

<checkpoint-algorithm name="timebased">
   <classname>com.ibm.wsspi.batch.checkpointalgorithms.timebased</classname>
      <props>
             <prop name="interval" value="15" />
      </props>
</checkpoint-algorithm>

<results-algorithms>
   <results-algorithm name="jobsum">
     <classname>com.ibm.wsspi.batch.resultsalgorithms.jobsum</classname>
   </results-algorithm>
</results-algorithms>

<job-step name="Step1">
   <jndi-name>ejb/DataCreationBean</jndi-name>
   <checkpoint-algorithm-ref name="timebased" />
<results-ref name="jobsum"/>

<batch-data-streams>
   <bds>
      <logical-name>myoutput</logical-name>
      <impl-class>com.ibm.websphere.samples.PostingOutputStream</impl-class>
      <props>
         <prop name="FILENAME" value="somefile”/>
      </props>
  </bds>
</batch-data-streams>	

<props>
   <prop name="wsbatch.count" value="5000" />
 </props>

</job-step>

<job-step name="Step2">

   <step-scheduling condition="OR">
      <returncode-expression step="Step1" operator="eq" value="0" />
      <returncode-expression step="Step1" operator="eq" value="1" />
</step-scheduling>

<jndi-name>ejb/PostingAccountData</jndi-name>
<checkpoint-algorithm-ref name="timebased" /	>
<results-ref name="jobsum"/>

<batch-data-streams>
   <bds>
       <logical-name>myinput</logical-name>
       <impl-class>com.ibm.websphere.samples.PostingStream</impl-class>               
       <props>
            <prop name="FILENAME" value="somefile" />
       </props>
   </bds>
  </batch-data-streams>	

 </job-step>
</job>

数値計算ジョブの xJCL サンプル

現在、単一ステップの数値計算ジョブのみがサポートされています。
<?xml version="1.0" encoding="UTF-8"?>

<job name="SimpleCIEar" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

     <jndi-name>ejb/com/ibm/ws/ci/SimpleCIEJB</jndi-name>
     <job-step name="Step1">
          <classname>com.ibm.websphere.ci.samples.SimpleCIWork</classname>
          <props>
               <prop name="calculationTimeInSecs" value="30" />
               <prop name="outputFileName" value="SimpleCI_output_file" />
         </props>
    </job-step>
</job>



Related concepts
xJCL の XML スキーマ

Concept topic    

Terms of Use | Feedback Last updated: Mar 20, 2006 12:32:00 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/scheduler/cxdbatchjcl.html

© Copyright IBM 2005, 2006. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)