MQOutput 节点

本主题包含以下部分:

用途

使用 MQOutput 节点将消息发送到使用 WebSphere MQ 企业传输方式 连接到代理并使用 MQI 和 AMI 应用程序编程接口的客户机。

MQOutput 节点将输出消息从消息流传递到 WebSphere MQ 队列。 该节点使用 MQPUT 将消息放入您指定的某个目的地队列或多个目的地队列

如果恰当的话,您可以将队列定义为 WebSphere MQ 集群队列或共享队列。使用 WebSphere MQ 集群队列时,将队列管理器名留为空。

可配置 MQOutput 节点将消息放到可由代理的队列管理器访问的任何队列管理器上定义的特定 WebSphere MQ 队列,或放到与消息关联的 LocalEnvironment(也称为 DestinationList)中标识的目的地

可设置其他属性来通过设置相应的 MQPUT 选项控制发送消息的方法。例如,您可以请求在事务控制下处理的消息。如果适当,您还能指定 WebSphere MQ 可以在队列管理器中将 消息截为几段。

如果您创建的消息流将用作子流,则不能使用标准输出节点,您必须使用输出节点的实例来为传递消息的子流创建 out 终端。

如果不想让消息流将消息发送到 WebSphere MQ 队列,则可选择其他受支持的输出节点。

MQOutput 节点在工作台中由以下图标表示:

“MQOutput 节点”图标

在消息流中使用此节点

查看以下样本,了解如何使用此节点:

此处为可以如何使用此节点的示例,假定您已编写了一个常规的发布股票更新的发布应用程序。应用程序将消息发送到 MQInput 节点上的代理,并且消息流通过 Publication 节点使发布内容可用于多个订户。配置 Compute 节点以便每当一个特殊股票更改时创建新的输出消息,并将其联结到 MQOutput 节点记录该股票的每个价格更改。

配置 MQOutput 节点

当您将 MQOutput 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 将显示该节点的基本属性。

对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。

如下所示配置 MQOutput 节点:

  1. 如果要将输出消息发送到由该节点定义的单个目的地队列,则在队列名中输入消息流将消息发送到的队列的名称。 在队列管理器名中输入该队列定义到其中的队列管理器的名称。如果将“高级”属性目的地方式(如下所述)设置为队列名,则必须设置这些属性。如果将目的地方式设置为其他值,则忽略这些属性。
  2. 在属性对话框导航器中选择“高级”。这些属性定义消息的事务控制和将消息放到队列的方法。这些属性中有许多都映射到 MQPUT 调用上的选项。
    • 从下拉列表中选择目的地方式。这标识放置输出消息的队列。
      • 队列名。消息发送到队列名属性中命名的队列。如果您选择此选项,则属性队列管理器名队列名(在“基本”选项卡上)是必需的。这是缺省值。
      • 应答队列。该消息发送到 MQMD 中的 ReplyToQ 字段中命名的队列。
      • 目的地列表。 消息发送到在与消息关联的 LocalEnvironment(又称为 DestinationList)中命名的队列列表。
    • 从下拉列表中选择事务方式来确定如何放入消息。
      • 如果您选择自动(缺省),则按输入节点指定的方法派生消息事务性。
      • 如果您选择,则事务性地放入消息。
      • 如果您选择,则非事务性地放入消息。
      请参阅对协调事务进行配置以获取更多信息。
    • 从下拉列表中选择持久性方式来确定是否持久地放入消息。
      • 如果您选择自动(缺省),则按入局消息中指定的持久性。
      • 如果选择,则持久放入消息。
      • 如果选择,则非持久放入消息。
      • 如果您选择按为队列定义,则按为 WebSphere MQ 队列定义的那样设置消息持久性。
    • 选中新建消息标识复选框以便为该消息生成新的消息标识。这映射到 MQI 的 MQPMO 的 MQPMO_NEW_MSG_ID 选项。

      如果您不想生成新的标识,则取消选中该复选框。请注意,如果在“属性”对话框“请求”面板中选中请求复选框,则仍会生成新的消息标识。

      有关此属性映射到的选项的更多信息,在 WebSphere MQ Application Programming Reference 中提供。

    • 选中新建相关标识复选框以便为该消息生成新的消息标识。这映射到 MQI 的 MQPMO 的 MQPMO_NEW_CORREL_ID 选项。如果您不想生成新的标识,则取消选中该复选框。

      有关此属性映射到的选项的更多信息,在 WebSphere MQ Application Programming Reference 中提供。

    • 如果要在适当情况下让 WebSphere MQ 在队列管理器内将消息分段,则选中允许分段复选框。您还必须在 MQMD 中的 MsgFlags 字段中设置 MQMF_SEGMENTATION_ALLOWED 以使分段发生。如果您不要执行分段,则清除该复选框。

      有关此属性映射到的选项的更多信息,在 WebSphere MQ Application Programming Reference 中提供。

    • 选择消息上下文表明要如何处理原始上下文。选择以下某个选项:
      • 全部传递(映射到 MQI 的 MQPMO 的 MQPMO_PASS_ALL_CONTEXT 选项。)
      • 传递身份(映射到 MQI 的 MQPMO 的 MQPMO_PASS_IDENTITY_CONTEXT 选项。)
      • 设置所有(映射到 MQI 的 MQPMO 的 MQPMO_SET_ALL_CONTEXT 选项。)
      • 设置身份( MQI 的 MQPMO 的 MQPMO__SET_IDENTITY_CONTEXT 选项。)
      • 缺省(映射到 MQI 的 MQPMO 的 MQPMO_DEFAULT_CONTEXT 选项。)
      • (映射到 MQI 的 MQPMO 的 MQPMO_NO_CONTEXT 选项。)

      有关这些属性映射到的选项的更多信息,在 WebSphere MQ Application Programming Reference 中提供。

    • 如果您要在 MQI 的打开选项(MQOO)中设置 MQOO_ALTERNATE_USER_AUTHORITY 选项,则选中备用用户权限复选框。如果您选择此框,则在为输出打开队列 时指定此选项。从消息中的上下文信息检索备用用户信息。如果您不要指定备用用户权限则清除该复选框。如果您清除该框,则在放入消息时使用代理服务 user ID。
  3. 在属性对话框导航器中选择“请求”,并设置属性来定义生成的每条输出消息的特征。
    • 选中请求复选框将 MQMD 中的每条输出消息标记为请求消息(MQMT_REQUEST),并清除消息标识字段(设置为 MQMI_NONE)以确保 WebSphere MQ 生成新标识。清除该复选框来表明每条输出消息不标记为请求消息。如果您已经选择了应答队列目的地方式,则无法选择此复选框。

      请注意,即使没在属性对话框导航器的“高级”面板中选择新建消息标识复选框,也会生成新的消息标识。

    • 应答队列管理器中输入队列管理器名。这作为应答队列管理器插入到每条输出消息的 MQMD 中。
    • 应答队列中输入队列名。这作为应答队列插入到每条输出消息的 MQMD 中。
  4. 如果您要 MRM 解析器按照从消息集生成的字典验证消息的体,则在属性对话框导航器中选择“验证”。(如果消息传播到节点的 Failure 终端,则不进行验证。)

    有关更多详细信息,请参阅验证消息MRM 域中消息的验证属性

  5. 选择属性对话框导航器中的“描述”,以输入简短描述和/或详细描述。
  6. 单击应用可在不关闭“属性”对话框的情况下对 MQOutput 节点进行更改。单击确定以应用更改,并关闭属性对话框。

    单击取消以关闭对话框,并废弃对属性所作的所有更改。

连接终端

将 in 终端连接到出站消息绑定所流出的节点。

如果您要进一步处理消息、处理错误或将消息发送到其他目标,则将此节点的 out 或 failure 终端连接到此消息流中的另一个节点。

如果您将这些输出终端中的某个终端连接到消息流中的另一个节点,则与消息关联的 LocalEnvironment 通过每个目标(消息已由此节点放入目标)的以下信息获得增强:

  • 队列名
  • 队列管理器名
  • 消息应答标识(这设置为与消息标识相同的值)
  • 消息标识(来自 MQMD)
  • 相关标识(来自 MQMD)

这些值写入 LocalEnvironment 树结构内的 WrittenDestination。

如果两个终端都没有连接,则未更改 LocalEnvironment 树。

如果您在消息流中使用聚集,则必须使用 out 终端。

对协调事务进行配置

当您定义 MQOutput 节点时,您为事务方式属性选择的选项会定义是否在同步点下编写消息:

  • 如果,则在同步点下写消息(即,在 WebSphere MQ 工作单元内)。
  • 如果自动(缺省),则如果进入输入消息标记为持久,在同步点下写消息。
  • 如果,则不在同步点下写消息。

MQOutput 节点的另一个属性,持久性方式,定义在将输出消息放到输出队列时是否将它标记为持久:

  • 如果是,则消息标记为持久。
  • 如果是自动(缺省),则消息持久性由入局消息的持久性决定,如 MQMD(WebSphere MQ 消息描述符)中所设置。
  • 如果是,则消息未标记为持久。
  • 如果是按为队列定义,则按在 MQMD 中指定 MQPER_PERSISTENCE_AS_Q_DEF 选项的 MQOutput 节点在 WebSphere MQ 队列中所定义的那样设置消息持久性。

终端和属性

在以下表中描述了 MQOutput 节点终端。

终端 描述
In 接受供节点处理的消息的输入终端。
Failure 当将消息放置到输出队列时如果检测到故障,则这是消息路由到的输出终端。
Out 如果成功地将消息放到输出队列,并且在此消息流内要求进一步处理,则这是消息路由到的输出终端。

下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。

下表描述 MQOutput 节点的“基本”属性。

属性 M C 缺省值 描述
队列管理器名   WebSphere MQ 队列管理器的名称,队列名中指定的输出队列定义到该队列管理器。
队列名   该节点放入消息(使用 MQPUT)的 WebSphere MQ 输出队列的名称。

下表描述 MQOutput 节点“高级”属性。

属性 M C 缺省值 描述
目的地方式 队列名 输出消息发送到的队列。有效值为目的地列表应答队列队列名
事务方式 自动 是否事务性地放入了消息。有效值为自动
持久性方式 自动 是否持久地放入了消息。有效值为自动按为队列定义
新消息标识 已清除 WebSphere MQ 是否生成新消息标识来替换 MQMD 中 MsgId 字段的内容。如果您选中该复选框,则执行此操作。
新建相关标识 已清除 WebSphere MQ 是否生成新的相关标识来替换 MQMD 中 CorrelId 字段的内容。如果您选中该复选框,则执行此操作。
允许分段 已清除 如果合适,WebSphere MQ 可在队列管理器中将消息进行分段。如果您选中该复选框,则执行此操作。
消息上下文 全部传递 如何处理原始上下文。有效值为传递身份全部设置设置身份缺省
备用用户权限 已清除 在放入输出消息时是否使用备用权限。如果您选中该复选框,则执行此操作。

在以下表中描述了 MQOutput 节点请求属性。

属性 M C 缺省值 描述
请求 已清除 是否将每个输出消息生成为请求消息。如果您选中该复选框,则执行此操作。
应答队列管理器   WebSphere MQ 队列管理器的名称,应答队列中指定的输出队列定义到该队列管理器。
应答队列   WebSphere MQ 队列的名称,对该请求的应答将放入该队列。

下表描述 MQOutput 节点的“验证”属性。

请参阅MRM 域中消息的验证属性,以获取这些属性的完整描述。

属性 M C 缺省值 描述
验证 继承 验证是否发生。有效值为内容和值内容继承
故障操作 异常 验证失败后将发生什么操作。只有将验证设置为内容内容和值,才可以设置该属性。有效值为用户跟踪本地错误日志异常异常列表
包含所有值约束 选中 无法编辑此属性。所选的复选框指出的缺省操作,即内容和值验证中包含的基本值约束检查。
固定 无法编辑此属性。

下表描述 MQOutput 节点的“描述”属性。

属性 M C 缺省值 描述
简短描述   节点的简要描述。
详细描述   描述消息流中节点用途的文本。
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac04570_