xJCL 元素

作业使用称为 xJCL(XML 作业控制语言)的可扩展标记语言 XML 方言进行表示。虽然 xJCL 的某些元素仅适用于计算密集型作业或批处理作业,但此方言具有用于表示计算密集型作业和批处理作业所需的所有信息的构造。有关 xJCL 的更多信息,请参阅随样本应用程序提供的 xJCL、xJCL 表 和 xJCL XSD 模式文档。作业的 xJCL 定义不是 批处理应用程序 的一部分,但却独立构建并提交至 作业调度程序 以运行。作业调度程序 使用 xJCL 中的信息来确定作业运行的位置和时间。

xJCL 元素

下表汇总了 xJCL 元素。

表 1. xJCL 元素. 该表包括 xJCL 元素、每一个 xJCL 元素是否适用于 Java™ Platform, Enterprise Edition (Java EE) 计算密集型作业或批处理作业以及每一个 xJCL 元素的子元素、属性和描述。
元素 Java EE 计算密集型 Java EE 批处理 子元素 属性 描述
job yes yes     划定批处理作业描述的范围。
job yes yes   name 作业的名称。除非指定 default-application-name,否则此名称必须与批处理应用程序的名称匹配。
job yes yes   accounting 可选的记账信息属性。
job yes yes   class 可选作业类属性,用于识别在其下运行作业的作业类。
job yes yes   default-application-name 找不到作业步骤应用程序名称属性时将要使用的应用程序名称。

要使用的应用程序名称。对于 OSGi 批处理应用程序,请将该名称格式化为 osgi:<eba name>:<version>

job yes yes jndi-name   批处理应用程序 部署到产品中时,向作业控制器无状态会话 Bean 提供的 JNDI 名称。
job yes yes job-scheduling criteria 必需的功能 作业的必需功能,必须将其定义在作业的端点上才能分派给该端点。
job yes yes step-scheduling criteria 请参阅 step-scheduling-criteria 元素  
job no yes checkpoint algorithm 请参阅 checkpoint-algorithm 元素  
job no yes results-algorithm 请参阅 results-algorithms 元素  
job yes yes substitution-props++ 请参阅 prop 元素 作业的必需功能,必须将其定义在作业的端点上才能分派给该端点。
job-step 是* yes   name 步骤的可选名称。此信息将在操作性命令中返回。
job-step 是* yes   application-name 步骤所运行的应用程序的可选名称。如果省略 application-name 并省略级别属性 default-application-name,那么将使用此属性名称。
job-step no yes step-scheduling 请参阅 step-scheduling 元素 允许基于步骤返回码的条件性逻辑,该逻辑用于确定是否调用批处理步骤。
job-step yes yes classname   用于实现计算密集型作业的类的标准名称。
job-step yes no checkpoint-algorithm-ref   指定用于批处理作业步骤的检查点算法。
job-step no yes results-ref 请参阅 results-ref 元素 指定用于条件性批处理作业步骤执行的结果算法。
job-step no yes batch-data-streams 请参阅 batch-data-streams 元素 bds 元素序列。每一个 bds 都是创建批处理数据流必需的配置信息。
job-step yes yes props 请参阅 props 元素 要传递给步骤的名称/值属性。
job-step no no exec 请参阅 exec 元素 识别与作业步骤相关联的可执行文件。
job-step no no env-entries 请参阅 env-entries 元素 识别与作业步骤相关联的环境属性。
prop yes yes     名称/值对的单个实例,用来充当一个属性。
prop yes yes   name 属性的名称。
prop yes yes   属性的值。
props yes yes prop 请参阅 prop 元素  
env-entries no no     用于向步骤、bds、检查点算法和结果算法传递“名称/值”对属性的 prop 元素序列。
env-entries no no env-var 请参阅 env-var 元素  
exec no no     用于向步骤、bds、检查点算法和结果算法传递“名称/值”对属性的 prop 元素序列。
exec no no   executable 与作业步骤相关联的可执行文件的名称。
exec no no arg 请参阅 line 元素  
line no no     传递给作业步骤可执行文件的命令行参数。
bds no yes     可供批处理作业使用的批处理数据流实现的单个实例。
bds no yes logical-name   嵌入在批处理步骤中的字符串,批处理步骤将使用该字符串来查询特定批处理数据流实例的批处理运行时环境。
bds no yes impl-class   批处理数据流实现类的标准类名。
bds no yes props 请参阅 props 元素 列示传递给批处理数据流实现类的属性。
batch-data-streams no yes     bds 元素的序列
batch-data-streams no yes bds 请参阅 bds 元素  
step-scheduling no yes     应用于 job-steps 以为批处理作业创建基于返回码的条件性流。比较为此批处理作业定义的返回码值,以确定在处理批处理作业时是否调用某个步骤。使用 returncode-expression 元素来比较返回码的值。
step-scheduling no yes returncode- expression 请参阅 returncode-expression 要评估的 returncode- expression。
step-scheduling no yes   条件 如果 step-scheduling 元素中有多个 returncode-expression 元素,那么会向这些元素应用条件性运算符。受支持的条件性运算符为:AND 和 OR。
returncode-expression no yes     用在 step-scheduling 标签下面以确定批处理作业步骤是否根据其他作业步骤的返回码来运行。
returncode-expression no yes   step 要在此表达式中比较其返回码的步骤的名称。
returncode-expression no yes   操作员 用于返回码表达式的运算符。 受支持的运算符为 eq(等于)、lt(小于)、gt(大于)、le(小于或等于)和 ge(大于或等于)。
returncode-expression no yes   要将其与返回码进行比较的值。
step-scheduling-criteria no yes     描述处理作业步骤时所使用的顺序。目前的顺序调度受支持;例如,按步骤在 xJCL 中的顺序进行调用。
step-scheduling-criteria no yes scheduling-mode   调用步骤时所使用的顺序,现在只有一个可能的值 sequential
checkpoint-algorithm no yes     声明可用于批处理作业步骤的检查点算法。
checkpoint-algorithm no yes   name 算法的名称。
checkpoint-algorithm no yes classname   用于实现此算法的类。
checkpoint-algorithm no yes props 请参阅 props 元素 检查点算法的 prop 元素序列。
checkpoint-algorithm-ref no yes     对检查点算法元素的引用。
checkpoint-algorithm-ref no yes   name 您要引用的检查点算法的名称。
checkpoint-algorithm-ref no yes props 请参阅 props 元素。 检查点算法的 prop 元素序列。

++ xJCL 元素 substitution-props 在以下部分中进行讨论。

xJCL substitution-props

作业 xJCL 可以包含符号变量。符号变量是 ${variable-name} 形式的表达式,可在格式良好的其他文档中的注释外部找到。例如:
<checkpoint-algorithm-ref name="${checkpoint}" />
xJCL 元素 substitution-props 可定义符号变量的缺省“名称/值”对。以下是 substitution-props 元素的示例(截取自 postingSampleXJCL.xml 文档):
<substitution-props>
<prop name="wsbatch.count" value="5" /> 
<prop name="checkpoint" value="timebased" />
<prop name="checkpointInterval" value="15" />
<prop name="postingsDataStream" value="${was.install.root}${file.separator}temp${file.separator}postings" />
</substitution-props>

符号变量的替代发生在运行时。运行时,会将字符串 ${variable-name} 替换为提交 xJCL 执行时的属性值。通过在上述示例中使用这些属性,在提交作业之前,将字符串 ${checkpoint} 替换为字符串 time-based。

符号变量可以是间接形式。例如:与名称/值对 filename=postingsDataStream 配合使用的 name=FILENAME value=${${filename}} 所生成的结果与指定 name=FILENAME value=${postingsDataStream} 所生成的结果相同。

符号变量也可以是复合形式。例如,name=postingsDataStream value=${was.install.root}${file.separator}temp${file.separator}postings。

不必在作业文档 substitution-props 元素中定义名称/值对。定义在 substitution-props 元素中的 props 名称/值对是给定变量的缺省值。如果未定义在 substitution-props 元素中,那么必须在提交作业时通过作业调度程序 API 传递名称/值对或者在 JVM 的系统属性中定义名称/值对。必须解析定义在作业文档主体中的每一个符号变量,才能将 xJCL 视为有效。定义在作业文档中的每一个名称/值对必须解析为在 xJCL 主体中找到的符号变量,才能将 xJCL 视为有效。

如果既在 xJCL 文档中定义了名称/值对又在作业提交时将名称/值对传递给作业调度程序 API,那么通过作业调度程序 API 传递的名称/值对将覆盖定义在 xJCL 文档中的缺省值。如果未通过作业调度程序 API 传递名称/值对也未在 xJCL 文档中将其定义为缺省值,那么必须在系统 JVM 属性中定义符号变量的名称/值对,才能将 xJCL 视为有效。

符号变量在作业提交之前由作业调度程序进行解析,下列特殊变量除外(这些符号变量在网格端点处解析)。所有下列特殊变量都必须定义为 JVM 系统属性。这些特殊变量为:
  • ${was.install.root}
  • ${user.install.root}
  • ${agent.home}

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cgrid_xdbatchjcl
文件名:cgrid_xdbatchjcl.html