MQReply 节点

本主题包含以下部分:

用途

使用 MQReply 节点将响应发送到输入消息的始发方。MQReply 是 MQOutput 节点的专门格式,该节点将输出消息放到由输入消息头的 ReplyToQ 字段标识的 WebSphere MQ 队列。如果恰当的话,您可以将队列定义为 WebSphere MQ 集群队列或共享队列。

MQReply 节点执行在 MQMD 中的“报告”字段中设置的选项。缺省情况下(如果未设置任何选项),MQReply 节点在应答消息中生成新的 MsgID 和 CorrelID。如果接收的应用程序需要这些字段中的其他值,则必须确保将消息放到消息流输入队列的应用程序设置了必需的报告选项,或在消息流中处理消息期间在 MQMD 内设置了相应的选项。例如,Compute 节点可以用于设置消息中的“报告”选项

WebSphere MQ Application Programming Reference 中提供了更多有关“报告”字段的信息。

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

MQReply 节点图标

在消息流中使用此节点

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

您可能发现它在接收客户订单时适合使用此节点。当处理订单消息时,将响应发送到确认订单收据并提供可能的交付日期的客户

配置 MQReply 节点

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

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

如下所示配置 MQReply 节点:

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

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

  2. 选择您要用于输出消息的持久性方式
    • 如果您选择自动(缺省),则按入局消息中指定的持久性。
    • 如果选择,则持久放入消息。
    • 如果选择,则非持久放入消息。
    • 如果您选择按为队列定义,则按为 WebSphere MQ 队列定义的那样设置消息持久性。
  3. 选择您要用于输出消息的事务方式
    • 如果您选择自动(缺省),则按 MQInput 节点指定的方法派生消息事务性。
    • 如果您选择,则事务性地放入消息。
    • 如果您选择,则非事务性地放入消息。
  4. 如果您要 MRM 解析器按照从消息集生成的字典验证消息的体,则在属性对话框导航器中选择“验证”。(如果消息传播到节点的 Failure 终端,则不进行验证。)

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

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

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

应答消息放(使用 MQPUT)在输入消息 MQMD 中作为 ReplyTo 队列命名的队列。不能更改此目的地。

将 output 终端连接到另一个节点

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

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

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

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

如果您未连接这些 out 终端中的某个终端,则 LocalEnvironment 树将保持不变。

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

对协调事务进行配置

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

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

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

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

终端和属性

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

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

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

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

属性 M C 缺省值 描述
允许分段 已清除 如果合适,WebSphere MQ 可在队列管理器中将消息进行分段。如果您选中该复选框,则执行此操作。
持久性方式 自动 是否持久地放入了消息。有效值为自动按为队列定义
事务方式 自动 是否事务性地放入了消息。有效值为自动

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

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

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

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

属性 M C 缺省值 描述
简短描述   节点的简要描述。
详细描述   描述消息流中节点用途的文本。

MQReply 节点还具有以下属性,您无法从工作台界面对其进行访问或修改。然而,当在消息流中处理消息时,由代理使用这些值。

属性 描述
队列管理器名 WebSphere MQ 队列管理器的名称,队列名中标识的输出队列定义到该队列管理器。此名称从输入消息的 MQMD 的 ReplyTo 字段检索。
队列名 放入输出消息的 WebSphere MQ 队列的名称。此名称从输入消息的 MQMD 的 ReplyTo 字段检索。
目的地 此属性始终具有值应答
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac04580_