
配置 batchManagerZos 客户机实用程序
可通过使用 batchManagerZos 客户机实用程序管理在 z/OS 上的 Liberty 中运行的批处理作业。
关于此任务
batchManagerZos 客户机实用程序是 batchManager 命令行实用程序的本地编译版本,batchManager 命令行实用程序用于管理在 Liberty for z/OS 上运行的批处理作业。它是一个本地程序,不需要 JVM。该实用程序是 batchManagement-1.0 功能部件随附的。
batchManagerZos 客户机实用程序支持 batchManager 命令行实用程序支持的命令和选项的一部分。请使用 $batchManagerZos help 命令查看命令和选项列表。
batchManagerZos 客户机实用程序使用优化本地适配器连接至本地环境中运行的 Liberty 服务器。batchManagerZos 客户机实用程序无法连接至远程服务器。
- 安全注意事项
- batchManagerZos 客户机实用程序的安全行为取决于 Liberty 服务器是否使用 SAF 注册表。
- 如果服务器正在使用 SAF 用户注册表,那么 batchManagerZos 客户机实用程序身份设置为批处理请求的请求者的身份(Java 平台企业修订版 RunAs 主体集)。
- 如果此服务器未在使用 SAF 用户注册表,那么将忽略 batchManagerZos 客户机实用程序身份。在这种情况下,EVERYONE 特殊主体集将设置为批处理请求的请求者的身份。
- 基于批处理角色的授权
如果在服务器中启用了 appSecurity,那么必须将该请求者的身份分配给该请求所需要的相应批处理安全角色。有效批处理安全角色为 batchAdmin、batchSubmitter 和 batchMonitor。如果未对该身份分配所需角色,那么该请求失败并产生安全性异常。
权限由安全性授权提供者管理。如果服务器使用 SAF 授权,那么 SAF 授权提供者将通过检查身份对 EJBROLE 类所定义的 SAF 资源概要文件的访问权来确定请求者身份的权限。缺省情况下,以下资源概要文件与批处理角色相关联。
必须为请求者的身份授予对相应资源概要文件的读访问权,这样他才能被授予相应的批处理角色。batchAdmin: BBGZDFLT.com.ibm.ws.batch.batchAdmin batchSubmitter: BBGZDFLT.com.ibm.ws.batch.batchSubmitter batchMonitor: BBGZDFLT.com.ibm.ws.batch.batchMonitor
以下示例说明用于向客户机身份 bob 授予 batchAdmin 角色权限的 RACF 命令。
RDEFINE EJBROLE BBGZDFLT.com.ibm.ws.batch.batchAdmin UACC(NONE) PERMIT BBGZDFLT.com.ibm.ws.batch.batchAdmin CLASS(EJBROLE) ID(bob) ACCESS(READ)
- jobParametersFile 和 jobPropertiesFile
- 当您使用 batchManagerZos 客户机实用程序来提交批处理作业时,jobParametersFile 和 jobPropertiesFile 支持使用多个文件(用逗号分隔)。在用逗号分隔的列表中,优先使用顺序靠后的文件。以下示例说明了用逗号分隔的列表的正确用法。
例如,控制属性文件中的 --jobParametersFile=<filepath1> 将覆盖 --jobParametersFile=<filepath1>,<filepath2>。生成的参数为 --jobParametersFile=<filepath1>。jobParametersFile=filePath1,filePath2,filePath3 jobPropertiesFile=filePath1,filePath2,filePath3
控制属性和作业参数
为了构建单个作业参数集合,程序从一个空集合开始,并不断地装入来自各种源的属性。然后,程序将这些属性合并到单个集合中。程序在读取并装入所有源之后,将该单个属性集合作为作业参数传递至作业提交。
该属性集合是按此顺序以合并方式构建的。如果多次装入并设置具有相同键的相同属性,那么后面的值会覆盖先前的值。此序列中后面的步骤具有高于前面的步骤的优先级。
- 如果包括 --jobParametersFile 参数作为命令行参数,那么下列操作会按优先级升序顺序发生:
- 装入并合并作业参数控制属性。在控制属性文件内,这些属性以 --jobParameter=key=value 形式构造。
- 装入并合并 --jobParametersFile 参数所引用的文件的内容。
- 装入并合并命令行作业参数。
- 如果未包括 --jobParametersFile 参数作为命令行参数,那么下列操作会按优先级升序顺序发生:
- 装入并合并 --jobParametersFile 控制属性所引用的文件的内容。此控制属性可能仅出现在一个控制属性文件中,也可能出现在多个文件中(如果此属性被覆盖)。
- 装入并合并作业参数控制属性。在控制属性文件内,这些属性以 --jobParameter=key=value 形式构造。
- 装入并合并命令行作业参数。
生成这种结构是因为 --controlPropertiesFile 参数具有比命令行自变量低的优先级。您在其中指定 --jobParametersFile 参数的级别决定了这些文件的优先级。
当程序按顺序读取并装入每个文件时,程序将找到的 --jobParametersFile 和 --jobPropertiesFile 属性折叠到单个属性中。每个属性都是另一个属性的别名。具有其中某个别名的命令行自变量或控制属性覆盖项将取代早期被覆盖的控制属性文件中出现的这两种覆盖项中任一项的实例。
注: 参数仅接受单独的行中的注释。- 如果包括 --jobParametersFile 参数作为命令行参数,那么下列操作会按优先级升序顺序发生:
- 作业重新启动选项
batchManagerZos 客户机实用程序命令选项 restartTokenFile 可在 submit 命令中使用,以方便作业重新启动。此选项的值是用于保存将要重新启动的作业的实例标识的文件名。此文件由 batchManagerZos 实用程序读取和写入。如果此文件包含实例标识,那么会重新启动作业。如果此文件不包含实例标识,那么会提交新作业,并会在文件中存储生成的实例标识。如果作业未以可重新启动状态结束,那么会从此文件移除实例标识。该文件可以是数据集名称 (\'USER.MY.FILE\')、文件 (/u/user/myfile) 或者 DD (DD:RSTRTID)。
注: 所有引号必须使用反斜杠字符 \ 进行转义。以下示例说明作业重新启动选项。
此示例文件为 JCL 过程,可以在单独库中存储。//LIBBATCH PROC UN1='unique1',UN2='unique2' //STEP1 EXEC PGM=BPXBATSL //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //STDPARM DD * PGM /u/TESTER1/wlp/lib/native/zos/s390x/batchManagerZos submit--batchManager=LIBERTY+BATCH+MANAGER --controlPropertiesFile=DD:CPROP --jobParametersFile=DD:JPROP --restartTokenfile=DD:WGRSTRT //WGRSTRT DD PATH='/u/TESTER1/restart/&UN1..&UN2..props', // PATHOPTS=(ORDWR,OCREAT), // PATHMODE=(SIRWXU,SIRWXG) //LIBBATCH PEND
示例文件为 JCL 作业,可提交以执行 JCL 过程。//ZBATCH JOB (),MSGCLASS=H,CLASS=A, // USER=TESTER1,PASSWORD=TESTERPW //MYLIBS1 JCLLIB ORDER=‘TESTER1.PROCS.JCL' //SUBMIT EXEC PROC=LIBBATCH,UN1='MARY',UN2='D051016' //CPROP DD * --applicationName=SimpleBatchJob --jobXMLName=test_batchlet_stepCtx --returnExitStatus --wait//* //JPROP DD * jprop1=value1 //*
- 作业日志流处理
如果针对 submit 或 restart 命令指定 --getJobLog、--queueManagerName 和 --wait 命令选项,客户机预订作业日志事件,并将接收的消息打印到 STDOUT。要接收作业日志事件,必须启用批处理作业事件发布。有关配置批处理作业事件发布的更多信息,请参阅启用批处理作业事件发布文档。
无论何时创建新的作业日志部分或者无论何时作业结束,都会发布作业日志事件。将根据达到每个作业日志文件的最大日志记录数或达到作业日志事件的最大发布时间间隔秒数创建新的作业日志部分。有关更多信息,请参阅 的文档。
- 返回码
- batchManagerZos 客户机实用程序输出以下返回码:
代码 描述 0 任务正常完成。 20 未指定必需的自变量。 21 指定了无法识别的自变量。 22 指定了无效自变量值。 255 发生未知错误。 注: 如果您指定 --wait 自变量,那么该实用程序输出以下返回码以指示您正在等待的作业的状态。代码 描述 33 该作业已停止。 34 该作业未成功完成。 35 该作业已成功完成。 36 该作业已被放弃。 注: 如果通过运行 BPXBATCH 来运行 batchManagerZos,那么 BPXBATCH 的返回码与 batchManagerZos 的返回码不匹配。BPXBATCH 采用 batchManagerZos 返回码,并将其上移一个字节。例如,如果 batchManagerZos 返回 1,那么 BPXBATCH 将返回 256,它是十六进制值 0x01,上移一个字节为 0x100。如果您从 JCL STEP 调用 BPXBATCH,那么 STEP 返回码被截断为来自 BPXBATCH 的返回码的最后三个十六进制字符。例如,如果 batchManagerZos 返回 35(即十六进制值 0x23),那么 BPXBATCH 将返回 0x2300。JCL STEP 将返回码截断为 0x0300 或 768。
- 局限性
batchManagerZos 客户机实用程序 stop 命令必须定向到正在运行该作业的批处理执行程序。如果 batchManagerZos 客户机实用程序连接至所指定批处理分派器而不是正在运行该作业的批处理执行程序,那么多服务器环境中的 stop 命令可能失败并产生 BatchJobNotLocalException。批处理分派器通常接收提交请求并将它们分发至下游批处理执行程序。