使用 IBM MQ 设置外部调度程序接口
您可以安装和配置批处理高性能外部调度程序连接器。此连接器是本机 WSGrid 连接器,它使用本机编译语言进行实现并使用 IBM MQ 进行通信。
关于此任务
本机 WSGrid 的益处有两个:
- 通过在每次使用时阻止对 Java™ 虚拟机 (JVM) 启动流程的需求来更有效地使用 z/OS® 系统处理器。
- 使用 z/OS 上可用的最稳固的消息传递服务来确保大部分 z/OS 客户已经知道并使用带有消息传递服务的可靠操作。
用于启动 WSGRID 的环境的已认证用户标识会传播至 批处理 作业调度程序。 所生成的 批处理 作业使用该用户标识来运行。此用户标识还必须具有足够的 WebSphere® 权限来提交 批处理 作业,即 lradmin 或 lrsubmitter 角色。例如,如果在技术用户标识 TECH1 下提交 JCL 作业 WSGRID1 以运行,那么所生成的 批处理 作业也将在用户标识 TECH1 下运行。必须许可用户标识 TECH1 对 WSGRID 使用的 IBM MQ 输入和输出队列执行 Get 和 Put 操作。
过程
- 定义 WebSphere MQ 队列。
队列管理器必须是本地队列管理器。需要两个队列:一个用于输入,一个用于输出。您可以按照您的命名约定来给队列命名。 例如,名称 WASIQ 用于输入队列,名称 WASOQ 用于输出队列。必须在共享方式下设置这些队列。
- 更新 MQ_INSTALL_ROOT WebSphere 变量。
- 在管理控制台中,单击环境 > WebSphere 变量。
- 选择在其中运行作业调度程序的节点作用域。
- 选择 MQ_INSTALL_ROOT。
- 对于值,请放入用于安装 WebSphere MQ 的目录路径。
例如,值可以是 /USR/lpp/mqm/V6R0M0。
- 单击应用并保存更改。
- 从 Deployment Manager 中,带以下输入参数来运行 installWSGridMQ.py 脚本:
installWSGridMQ.py 脚本会安装系统应用程序,然后设置 JMS 连接工厂、JMS 输入和输出队列以及其他必要参数。
wsadmin.sh -f -user <username> -password <userpassword> installWSGridMQ.py
- -install | -install <APP | MQ>
- {-cluster <clusterName> | -node <nodeName> -server <server>}
- 注: 执行 APP 安装时,不需要 MQ 参数。
- -remove | -remove <APP | MQ>
- {-cluster <clusterName> | -node <nodeName> -server <server>}
- 注: 执行 APP 移除时,不需要 MQ 参数。
- -qmgr
- <queueManagerName>
- -inqueue
- <inputQueueName>
- -outqueue
- <outputQueueName>
例如,对于集群:
wsadmin.sh -f installWSGridMQ.py -install -cluster <clusterName> -qmgr <queueManagerName> -inqueue <inputQueueName> -outqueue <outputQueueName>
例如,对于节点:
wsadmin.sh -f installWSGridMQ.py -install -node <nodeName> -server <serverName> -qmgr <queueManagerName> -inqueue <inputQueueName> -outqueue <outputQueueName>
例如,对于仅在集群级别安装应用程序:wsadmin.sh -f installWSGridMQ.py -install APP -cluster <clusterName>
例如,对于仅在节点/服务器级别安装 MQ 组件:wsadmin.sh -f installWSGridMQ.py -install MQ -node <nodeName> -server <serverName>
- 对于已在上一步中更新了其 MQ_INSTALL_ROOT WebSphere 变量的每一个服务器,请运行 osgiCfgInit.sh|.bat -all。
osgiCfgInit 命令会重置 OSGi 运行时环境所使用的类高速缓存。
- 创建 WSGRID 装入模块:
- 在 app_server_root/bin 目录中找到解包脚本。
unpackWSGRID 脚本是 REXX 脚本。
- 使用 unpackWSGrid 脚本执行解包操作。 要显示命令选项,请发出不带任何输入的 unpackWSGRID 脚本:unpackWSGRID <was_home> [<hlq>]
[<work_dir>] [<batch>]
[<debug>]
- <was_home>
- 指定必需的 WebSphere Application Server 主目录。
- <hlq>
- 指定输出数据集的可选高级限定符。 缺省值为 <user id>。
- <work_dir>
- 指定可选工作目录。缺省值为 /tmp。
- <batch>
- 指定此脚本的可选运行方式。指定 batch 或 interactive。 缺省值为 interactive。
- <debug>
- 指定可选调试方式。指定 debug 或 nodebug。 缺省值为 nodebug。
/u/USER26> unpackWSGRID /WebSphere/ND/AppServer
样本输出:Unpack WSGRID with values: WAS_HOME=/WebSphere/ND/AppServer HLQ =USER26 WORK_DIR=/tmp BATCH =INTERACTIVE DEBUG =NODEBUG Continue? (Y|N) Y User response: Y Unzip /WebSphere/ND/AppServer/bin/cg.load.xmi.zip extracted: cg.load.xmi Move cg.load.xmi to /tmp Delete old dataset 'USER26.CG.LOAD.XMI' Allocate new dataset 'USER26.CG.LOAD.XMI' Copy USS file /tmp/cg.load.xmi to dataset 'USER26.CG.LOAD.XMI' Delete USS file /tmp/cg.load.xmi Delete old dataset 'USER26.CG.LOAD' Go to TSO and issue RECEIVE INDSN('USER26.CG.LOAD.XMI') to create CG.LOAD
- 前往“TSO、ISPF、选项 6 - 命令”,然后执行接收操作。 例如:
RECEIVE INDSN('USER26.CG.LOAD.XMI')
以下输出就是结果:Dataset BBUILD.CG.LOAD from BBUILD on PLPSC The incoming data set is a 'PROGRAM LIBRARY' Enter restore parameters or 'DELETE' or 'END' +
按 Enter 键以结束。这时,将显示与以下输出类似的输出。IEB1135I IEBCOPY FMID HDZ11K0 SERVICE LEVEL UA4 07.00 z/OS 01.07.00 HBB7720 CPU 2097 IEB1035I USER26 WASDB2V8 WASDB2V8 17:12:15 MON COPY INDD=((SYS00006,R)),OUTDD=SYS00005 IEB1013I COPYING FROM PDSU INDD=SYS00006 VOL=CPD USER26.R0100122 IEB1014I IGW01551I MEMBER WSGRID HAS BEEN LOADED IGW01550I 1 OF 1 MEMBERS WERE LOADED IEB147I END OF JOB - 0 WAS HIGHEST SEVERITY CODE Restore successful to dataset 'USER26.CG.LOAD' ***
- 在 app_server_root/bin 目录中找到解包脚本。
- 重新启动您刚刚配置的服务器。也重新启动 Node Agent。
结果
您已配置了外部作业调度程序接口。
下一步做什么
将作业从外部作业调度程序接口提交至 批处理。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tgrid_zoscgnative
文件名:tgrid_zoscgnative.html