batchManager 命令行客户机实用程序
batchManager 命令行客户机实用程序提供命令行界面以管理在 Liberty 上运行的批处理作业。
batchManager 命令行客户机实用程序通过批处理管理器的 REST API 与批处理管理器交互。要使用 batchManager 命令行客户机实用程序,批处理管理器必须正在 Liberty 服务器上运行。使用 Batch Management 功能部件安装并启用 Liberty 批处理管理器。
SSL 配置
batchManager 命令行客户机实用程序通过 SSL 连接与批处理管理器通信。为方便与正在 Liberty 服务器上运行的批处理管理器进行 SSL 通信,该实用程序必须能够验证 Liberty 服务器的 SSL 证书。
如果 SSL 证书由知名认证中心 (CA) 签署,那么该实用程序可让 CA 验证该证书。不必进行更多配置。
- 指定选项 --trustSslCertificates,这会将该实用程序配置为信任所有 SSL 证书。
- 将服务器的 SSL 证书包含在实用程序的信任库中。
如果选择指定选项 --trustSslCertificates,那么该实用程序信任它接收的所有 SSL 证书,并且不必进行更多配置。
如果选择要将服务器的 SSL 证书包含在实用程序的信任库中的选项,那么还必须配置该实用程序以便该实用程序可找到其信任库。该实用程序是独立 Java main。通过使用 javax.net.ssl.truststore 之类的系统属性配置 SSL。
$ export JVM_ARGS="-Djavax.net.ssl.trustStore=/path/to/server/keystore.jks"
$ batchManager submit ...
$ keytool -export -alias default -file server.crt -keystore [server-dir]/resources/security/key.jks -storepass Liberty
$ keytool -import -alias server_crt -file server.crt -keystore /path/to/truststore.jks -storepass passw0rd
$ export JVM_ARGS="-Djavax.net.ssl.trustStore=/path/to/truststore.jks"
$ batchManager submit ...
命令和用法
batchManager 命令行客户机实用程序提供用于提交、停止、重新启动作业和检查作业状态的命令。
以通用方式使用实用程序:
$ batchManager [command] [options]
查看可用命令列表:
$ batchManager help
查看特定命令的描述和选项:
$ batchManager help [command]
以下示例说明如何提交作业并等待其完成:
$ batchManager submit \
--batchManager=<host>:<port>
--user=[credentials for logging into the batch manager]
--password=[credentials for logging into the batch manager]
--applicationName=[application name used when packaging the batch app]
--jobXMLName=[job XML file basename in the app's batch-jobs dir]
--wait
jobParametersFile 和 jobPropertiesFile
jobParametersFile=filePath1,filePath2,filePath3
jobPropertiesFile=filePath1,filePath2,filePath3
例如,控制属性文件中的 --jobParametersFile=<filepath1> 将覆盖 --jobParametersFile=<filepath1>,<filepath2>。生成的参数为 --jobParametersFile=<filepath1>。![[17.0.0.3 and later]](../ng_v17003plus.gif)
控制属性和作业参数
为了构建单个作业参数集合,程序从一个空集合开始,并不断地装入来自各种源的属性。然后,程序将这些属性合并到单个集合中。程序在读取并装入所有源之后,将该单个属性集合作为作业参数传递至作业提交。
该属性集合是按此顺序以合并方式构建的。如果多次装入并设置具有相同键的相同属性,那么后面的值会覆盖先前的值。此序列中后面的步骤具有高于前面的步骤的优先级。
- 如果未包括 --jobParametersFile 参数作为命令行参数,那么下列操作会按优先级升序顺序发生:
- 装入并合并 --jobParametersFile 控制属性所引用的文件的内容。此控制属性可能仅出现在一个控制属性文件中,也可能出现在多个文件中(如果此属性被覆盖)。
- 装入并合并作业参数控制属性。在控制属性文件内,这些属性以 --jobParameter=key=value 形式构造。
- 装入并合并命令行作业参数。
- 如果未包括 --jobParametersFile 参数作为命令行参数,那么下列操作会按优先级升序顺序发生:
- 装入并合并 --jobParametersFile 控制属性所引用的文件的内容。此控制属性可能仅出现在一个控制属性文件中,也可能出现在多个文件中(如果此属性被覆盖)。
- 装入并合并作业参数控制属性。在控制属性文件内,这些属性以 --jobParameter=key=value 形式构造。
- 装入并合并命令行作业参数。
生成这种结构是因为 --controlPropertiesFile 参数具有比命令行自变量低的优先级。您在其中指定 --jobParametersFile 参数的级别决定了这些文件的优先级。
当程序按顺序读取并装入每个文件时,程序将找到的 --jobParametersFile 和 --jobPropertiesFile 属性折叠到单个属性中。每个属性都是另一个属性的别名。具有其中某个别名的命令行自变量或控制属性覆盖项将取代早期被覆盖的控制属性文件中出现的这两种覆盖项中任一项的实例。

z/OS 上带有 SAF 密钥环的 batchManager 命令行客户机实用程序
要将 Liberty 服务器的系统授权工具 (SAF) 密钥环与 batchManager 命令行客户机实用程序配合使用,必须设置 java.environment 设置及 batchManager 命令行客户机实用程序调用上指定的有权读取 SAF 密钥环的用户标识。
以下命令授权该用户读取 SAF 密钥环。
PermitRingOwnerId.RingName.LST CLASS(RDATALIB)ID(userId)ACCESS(UPDATE)
SETROPTS RACLIST(RDATALIB) GENERIC(RDATALIB) REFRESH
有关更多信息,请参阅 WebSphere Application Server z/OS 安全性服务器 RACF 命令语言参考。
以下示例定义环境变量 JVM_ARGS。
export JVM_ARGS="-Djavax.net.ssl.trustStore=safkeyring://ringOwnerId/ringName
-Djavax.net.ssl.trustStoreType=JCERACFKS -Djavax.net.ssl.keyStore=safkeyring://ringOwnerId/ringName
-Djavax.net.ssl.keyStoreType=JCERACFKS -Dcom.ibm.ssl.keyStoreFileBased=false -Dcom.ibm.ssl.trustStoreFileBased=false
-Djava.protocol.handler.pkgs=com.ibm.crypto.provider -Djavax.net.ssl.keyStorePassword=password"
返回码
代码 | 描述 |
---|---|
0 | 任务正常完成。 |
20 | 未指定必需的自变量。 |
21 | 指定了无法识别的自变量。 |
22 | 指定了无效自变量值。 |
255 | 发生未知错误。 |
代码 | 描述 |
---|---|
33 | 该作业已停止。 |
34 | 该作业未成功完成。 |
35 | 该作业已成功完成。 |
36 | 该作业已被放弃。 |