启用批处理作业事件发布

通过使用 Java 消息传递系统 (JMS),批处理服务器可将与作业相关的事件发布至外部客户机。

关于此任务

批处理服务器将与作业相关的事件发布至外部客户的功能允许监视器查看与作业相关的事件并报告故障。批处理分派器服务器可对分派阶段中的作业发布事件。批处理执行程序服务器可在经历执行的不同阶段时对作业发布事件。这些事件是在以下结构的主题树中发布的:

表 1. 用于发布事件的主题树的文件结构
结构 描述
批处理 主题树的根。
batch/jobs 所有与作业相关的事件的主题树。
   
batch/jobs/instance 与作业实例相关的所有事件的主题树。
batch/jobs/instance/submitted 主题树节点。批处理服务器针对新的作业提交请求创建作业实例时,将发布消息。
batch/jobs/instance/jms_queued 主题树节点。批处理 JMS 分派器将作业提交请求放置在作业提交队列中时,将发布消息。
batch/jobs/instance/jms_consumed 主题树节点。批处理执行程序从作业提交队列接收到作业提供请求时,将发布消息。
batch/jobs/instance/dispatched 主题树节点。批处理执行程序接受作业实例以执行时,将发布消息。
batch/jobs/instance/completed 主题树节点。作业实例已完成时,将发布消息。
batch/jobs/instance/stopped 主题树节点。作业实例已停止时,将发布消息。
batch/jobs/instance/stopping 主题树节点。作业实例正在停止时,将发布消息。
batch/jobs/instance/failed 主题树节点。作业实例失败时,将发布消息。
batch/jobs/instance/purged 主题树节点。作业实例已成功清除时,将发布消息。
   
batch/jobs/execution 与作业执行相关的所有事件的主题树。
   
batch/jobs/execution/restarting 主题树节点。批处理执行程序正在重新启动执行时,将发布消息。
batch/jobs/execution/starting 主题树节点。作业执行正在启动时,将发布消息。
   
batch/jobs/execution/completed 主题树节点。作业执行成功结束时,将发布消息。
batch/jobs/execution/failed 主题树节点。作业执行因为失败而结束时,将发布消息。
batch/jobs/execution/stopped 主题树节点。作业执行已停止时,将发布消息。
batch/jobs/execution/jobLogPart 主题树节点。创建新作业日志部分、作业停止或作业结束时,会发布消息。
   
batch/jobs/execution/step/started 主题树节点。步骤执行已启动时,将发布消息。
batch/jobs/execution/step/completed 主题树节点。步骤执行已成功完成时,将发布消息。
batch/jobs/execution/step/failed 主题树节点。步骤执行失败时,将发布消息。
batch/jobs/execution/step/stopped 主题树节点。步骤执行已停止时,将发布消息。
batch/jobs/execution/step/checkpoint 主题树节点。获取检查点时,将发布消息。
   
batch/jobs/execution/partition/started 主题树节点。分区已启动时,将发布消息。
batch/jobs/execution/partition/completed 主题树节点。分区已成功完成时,将发布消息。
batch/jobs/execution/partition/failed 主题树节点。分区失败时,将发布消息。
batch/jobs/execution/partition/stopped 主题树节点。分区已停止时,将发布消息。
   
batch/jobs/execution/split-flow/started 主题树节点。拆分流程已启动时,将发布消息。
batch/jobs/execution/split-flow/ended 主题树节点。拆分流程已完成时,将发布消息。
每个主题的已发布消息为 JMS TextMessage。此消息的内容为 JSON 格式的字符串,表示主题的对象,例如,作业实例、作业执行、步骤执行或分区。此外,此消息还包括以下 JMS 消息属性集:
  • com_ibm_ws_batch_internal_jobInstanceId:作业实例标识(如果可用)。
  • com_ibm_ws_batch_internal_jobExecutionId:作业执行标识(如果可用)。
  • com_ibm_ws_batch_internal_stepExecutionId:作业步骤执行标识(如果可用)。

必须配置批处理服务器以允许发布与作业相关的事件。批处理分派器和批处理执行程序具有相同配置。以下步骤允许对批处理服务器发布与作业相关的事件。

过程

  1. 通过将相应 JMS 功能部件添加至 server.xml 文件中的功能部件管理器,启用 JMS 支持。 如果要使用 WebSphere Application Server Liberty 缺省消息传递提供者,请添加 wasJmsClient-2.0 功能部件和消息传递引擎的相关 JMS 配置。如果要使用 WebSphere MQ 消息传递提供者,请添加 wmqJmsClient-2.0 功能部件。
  2. batchJmsEvents 元素添加至 server.xml 文件。
    <batchJmsEvents connectionFactoryRef="batchConnectionFactory" />
    注: 如果未指定 connectionFactoryRef 属性,那么 connectionFactoryRef 的缺省值为 batchConnectionFactory。您仍然必须在 server.xml 文件中配置 batchConnectionFactory JMS 连接工厂。
  3. 将对应 JMS 连接工厂添加至服务器配置。这不是特定于批处理配置的操作。
    以下示例使用 WebSphere MQ 消息传递提供者来演示批处理事件配置及其 JMS 配置。
    <!-- wmq resource adapter -->
    <variable name="wmqJmsClient.rar.location" value="${server.config.dir}/wmq.wlp.rar"/>
    <!-- require for BINDING mode -->
    <wmqJmsClient nativeLibraryPath="/mqm/jms/java/lib" />
    
    <batchJmsEvents connectionFactoryRef="batchConnectionFactory" />
    
    <jmsConnectionFactory id="batchConnectionFactory" jndiName="jms/batch/connectionFactory">
      <properties.wmq.Jms
        transportType="BINDINGS"
        queueManager="WMQX" />
    </jmsConnectionFactory>
    以下示例使用 WebSphere Liberty 缺省消息传递提供者来演示批处理事件配置及其 JMS 配置。
    <batchJmsEvents connectionFactoryRef="batchConnectionFactory" />
    <jmsConnectionFactory id="batchConnectionFactory" jndiName="jms/batch/connectionFactory">
      <properties.wasJms></properties.wasJms>
    </jmsConnectionFactory>

示例

以下示例演示基本执行流程的事件序列。
  • 提交并运行带有检查点的单步骤作业。
    batch/jobs/instance/submitted
    batch/jobs/instance/jms_queued
    batch/jobs/instance/jms_consumed
    batch/jobs/execution/starting
    batch/jobs/instance/dispatched
    batch/jobs/execution/started
    batch/jobs/execution/step/started
    batch/jobs/execution/step/checkpoint
    batch/jobs/execution/step/checkpoint
    ...
    batch/jobs/execution/step/checkpoint
    batch/jobs/execution/step/completed
    batch/jobs/execution/completed
    batch/jobs/instance/completed
  • 提交并运行带有分区的单步骤作业。
    batch/jobs/instance/submitted
    batch/jobs/instance/jms_queued
    batch/jobs/instance/jms_consumed
    batch/jobs/execution/starting
    batch/jobs/instance/dispatched
    batch/jobs/execution/started
    batch/jobs/execution/step/started
    batch/jobs/execution/partition/started
    batch/jobs/execution/partition/started
    batch/jobs/execution/partition/started
    batch/jobs/execution/partition/completed
    batch/jobs/execution/partition/completed
    batch/jobs/execution/partition/completed
    batch/jobs/execution/step/completed
    batch/jobs/execution/completed
    batch/jobs/instance/completed

用于指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_batch_monitoring
文件名:twlp_batch_monitoring.html