MQeInput 节点

注意: 不推荐在 WebSphere Message Broker V6.0 中使用包含 MQeInput 和 MQeOutput 节点的消息流。此处描述的行为仅是为了在从 V6.0 部署到之前版本的情形中,用来提供迁移路线。 重新设计您的流,除去 MQe 节点并替换成 MQ 节点,这些 MQ 节点已根据您自己的规范进行配置,并与 MQe 网关配置一致。有关更多详细信息,请参阅迁移包含 WebSphere MQ Everyplace 节点的消息流

本主题包含以下部分:

用途

使用 MQeInput 节点从使用 WebSphere MQ 移动传输方式 协议连接到代理的客户机接收消息。

MQeInput 节点接收从代理的 WebSphere MQ Everyplace 队列管理器上指定的网桥队列放入消息流的消息。该节点还为这些消息建立处理环境。在部署包含此节点的消息流前,您必须创建和配置 WebSphere MQ Everyplace 队列管理器。

处理跨越 WebSphere MQ Everyplace 连接接收到的消息的消息流必须始终以 MQeInput 节点开始。您可以设置 MQeInput 节点的属性来控制接收消息的方法。例如,您可以表明要在事务控制下处理消息。

当您将包含 WebSphere MQ Everyplace 节点的消息流部署到代理时,无论消息流的个数有多少,您都必须将它们部署到单个执行组。此流中的 WebSphere MQ Everyplace 节点必须都指定相同的 WebSphere MQ Everyplace 队列管理器名。如果不符合该限制,则会得到有关部署的错误。

MQeInput 节点在以下消息域中处理消息:

  • MRM
  • XML
  • XMLNS
  • JMSMap
  • JMSStream
  • MIME
  • BLOB

如果您在以 MQeInput 节点开始的消息流中包含了一个输出节点,则它可以是任何受支持输出节点,包括用户定义的输出节点;不必包含 MQeOutput 节点。 您可创建从 WebSphere MQ Everyplace 客户机接收消息并为使用任何受支持传输连接到代理的客户机生成消息的消息流,因为您可以配置消息流以请求代理提供任何必要的转换。

WebSphere MQ Everyplace V1.2.6 由 WebSphere Message Broker 使用。它与 WebSphere MQ Everyplace 的更高版本兼容。使用 WebSphere MQ Everyplace 的更高版本的客户机(如 V2.0)在连接到该节点时运行正常,虽然 V1.2.6 中不受支持的其他功能(如 JMS 支持)不起作用。

队列管理器在 WebSphere MQ Everyplace 的不同版本中可交换。节点都必须使用通过采用 V1.2.6 创建的队列管理器。同样,客户机必须在创建队列管理器时使用代码级别。

您无法在部署到 z/OS 系统的消息流中使用 MQeInput 节点。

如果您创建将用作子流的消息流,则无法使用标准输入节点:必须使用 Input 节点的实例作为第一个节点来为子流创建 in 终端。

如果消息流不通过 WebSphere MQ 连接接收消息,则您可以选择以下某个其他输入节点:

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

MQeInput 节点图标

在消息流中使用 MQeInput 节点

要获取可以如何使用此节点的示例,考虑一位检查他的田地的农场主,查看这些田地灌溉情况。他正拿着安装好 WebSphere MQ Everyplace 的 PDA 设备。他发现一片需要灌溉的田地,因此使用 PDA 和全球卫星导航链接将消息发送到 MQeInput 节点。使用 Compute 节点处理数据,且由 Publication 节点发布消息,以便远程 SCADA 设备可以获取消息并触发灌溉洒水器。农场主可以在他发送消息后一会儿看到水输送到田地里。

WebSphere MQ Everyplace文档

您可以在 WebSphere MQ Web 页面 上的 WebSphere MQ Everyplace 文档中查找有关 WebSphere MQ Everyplace 和节点属性的详细信息。

配置 MQeInput 节点

当您将 MQeInput 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 节点的缺省属性在“属性”对话框中显示。

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

如下所示配置 MQeInput 节点:

  1. 在属性对话框导航器中选择“缺省”,并设置属性的值(这些属性描述了节点用于确定如何解析入局消息的消息域、消息集、消息类型和消息格式),以及与消息关联的缺省主题。
    • 如果入局消息具有 MQRFH2 头,则不必设置缺省属性的值,因为这些值可以从 MQRFH2 头的 <mcd> 文件夹中获取。例如:
      <mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type>
      <Fmt>XML</Fmt></mcd>

      如果您设置的值与 MQRFH2 标头值不同,则优先使用 MQRFH2 标头值。

    • 消息域中,从下拉列表中选择正在使用的解析器名称。 可以从下列名称中选择:
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • MIME
      • BLOB
      • IDOC
    • 如果您使用的是 MRM 或 IDOC 解析器,则从消息集中的下拉列表中选择正确的消息集。当您选择 MRM 或 IDOC 作为域时,用可用消息集植入此列表。

      将 XML、XMLNS、XMLNSC、JMS、MIME 和 BLOB 解析器的消息集保留为空白。

    • 如果您使用的是 MRM 解析器,则从消息类型中的下拉列表中选择正确的消息。此列表是用所选的消息集中定义的消息填充的。

      将 XML、XMLNS、XMLNSC、 JMS、MIME、BLOB 和 IDOC 解析器的消息类型保留为空白。

    • 如果您使用的是 MRM 或 IDOC 解析器,则从消息格式的下拉列表中选择消息的格式。 此列表包含您为此消息集定义的所有物理格式。

      将 XML、XMLNS、XMLNSC、JMS、MIME 和 BLOB 解析器的消息格式保留为空白。

    • 主题中输入消息主题。您可以输入任何字符作为主题名。当消息通过 MQeInput 节点传递时,它们使用您输入的任何主题名。(如果您正在使用发布/预订,则可以预订主题并查看在本主题名下通过 MQeInput 节点传递的任何消息。)
  2. 在属性对话框导航器中选择“常规”并完成以下属性:
    1. 输入 WebSphere MQ Everyplace 网桥队列的队列名,该输入节点从该网桥队列检索消息。如果该队列不存在,则在消息流部署到代理时为您创建一个。
    2. 为此节点设置您要的跟踪级别。如果跟踪是活动的,则跟踪信息记录到跟踪文件名标识的文件中(如下所述)。选择以下某个选项:
      • 。这是缺省设置。除非发生致命错误,否则不产生任何跟踪输出。
      • 标准。生成最小的跟踪输出,反映节点的整个操作。
      • 调试。在帮助您调试 WebSphere MQ Everyplace 程序的级别记录跟踪信息。
      • 全部。记录所有可用的调试信息来提供节点活动的全部记录。

      如果您将跟踪级别设置为调试全部,则会影响 WebSphere MQ Everyplace 的性能,并会生成重要跟踪文件。仅在短期内使用这些选项。

    3. 跟踪文件名中,指定写入跟踪信息的文件名。指定文件的目录结构必须已经存在:无法在操作期间创建它。
    4. 选择事务方式定义如何处理此消息的事务特征:
      • 如果您选择自动,则在同步点下接收到入局消息(如果该消息标记为持久,反之不然)。随后由输出节点发送的任何派生消息的事务性都由入局持久性属性确定,除非输出节点已经明确地覆盖了事务性。
      • 如果选择,则在同步点下接收入局消息。除非消息流的同一实例中的输出节点已经明确地忽略了事务性,否则任何随后由该输出节点发送的派生消息都进行事务性发送。
      • 如果选择,则不在同步点下接收入局消息。除非流中的输出节点已指定必须将消息放在同步点下,否则任何随后由输出节点发送的派生消息都进行非事务性发送。
    5. 在缺省情况下不选中使用配置文件复选框:MQeInput 节点的所有属性的值都是从“属性”对话框获取的。

      如果您选中该复选框,则所有属性的定义都是从配 置文件名标识的文件抽取的(如下所述),并带有以下异常

      • 队列名配置文件名常规属性
      • 所有缺省属性
      仅在为节点指定其他属性时使用配置文件。如果“属性”对话框上的属性充分满足您的需要,则不要选中使用配置文件复选框。
    6. 如果已选中使用配置文件复选框,则在配置文件名中为 WebSphere MQ Everyplace 输入配置文件的完整路径和名称。此文件必须安装在支持消息流部署到每个代理的系统上。如果文件不存在,则在部署消息流时会检测 到错误。缺省文件名为 MQeConfig.ini。
    7. 队列管理器名中,指定 WebSphere MQ Everyplace 队列管理器的名称。这与您将包含该节点的消息流所部署到的代理的队列管理器没有任何关系。

      仅可以支持一个 WebSphere MQ Everyplace 队列管理器。只有一个执行组可以包 含 MQeInput 或 MQeOutput 节点。因此,该属性必须设置为各 MQeInput 节点中的相同值,该节点包含在部署到相同代理的每个消息流中。

  3. 在属性对话框导航器中选择“通道”,并在最大通道数中设置受 WebSphere MQ Everyplace 支持的最大通道数。缺省值为零,这表示不受限制。
  4. 在属性对话框导航器中选择“注册表”并完成以下属性:
    1. 注册表类型属性的下拉列表中选择注册表的类型。您可以选择以下某个选项:
      • 文件注册表。注册表和安全性信息在下面指定的目录中提供。
      • 专用注册表。您在 WebSphere MQ Everyplace 中手动创建队列管理器,并指定您需要的安全性参数。
    2. 目录中,指定在其中定位表文件的目录。仅当您已选中文件注册表注册表类型时有效。
    3. 如果已选中专用注册表注册表类型,则完成以下属性:
      • 为相关队列管理器指定 PIN。为获取进一步详细信息,请参阅 WebSphere MQ Everyplace 文档。
      • 为认证请求指定证书请求 PIN。为获取进一步详细信息,请参阅 WebSphere MQ Everyplace 文档。
      • 提供一个密钥环密码以用作生成密码密钥的种子。为获取进一步详细信息,请参阅 WebSphere MQ Everyplace 文档。
      • 证书主机中,指定 WebSphere MQ Everyplace 用于认证的证书服务器名称。为获取进一步详细信息,请参阅 WebSphere MQ Everyplace 文档。
      • 证书端口中,指定 WebSphere MQ Everyplace 用于认证的证书服务器端口号。为获取进一步详细信息,请参阅 WebSphere MQ Everyplace 文档。
  5. 在属性对话框导航器中选择“侦听器”并完成以下为 WebSphere MQ Everyplace 定义连接类型的属性:
    1. 侦听器类型中,选择您要从下拉列表使用的适配器类型。缺省值为 Http;您还可以选择 LengthHistory。为获取进一步详细信息,请参阅 WebSphere MQ Everyplace 文档。
    2. 主机名中,指定服务器的主机名。将其设置为特定值 localhost 或 TCP/IP 地址 127.0.0.1(缺省值),两者都要正确解析消息流所部署到的服务器主机名。您还可以在网络中使用任何有效主机名或 TCP/IP 地址,但必须对将其部署到的每个代理使用不同的消息流,或在部署时配置该属性。
    3. 端口中,指定 WebSphere MQ Everyplace 在其上正在侦听的端口号。如果在部署到单个代理的消息流中包含了多个 MQeInput 节点,则每个 MQeInput 节点必须为 此属性指定不同的端口号。您还必须确保所指定的端口号不会与代理系统上的其他侦听器冲突,例如,与 WebSphere MQ 冲突。缺省值为 8081
    4. 时间间隔中,在空闲通道超时前按秒指定超时值。缺省值为 300 秒。

      因为通道是比单个队列管理器请求保持更久的逻辑实体,并可以在网络断开时幸存,可能需要一段时间处于非活动状态的超时通道。

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

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

连接终端

MQeInput 将它成功获取的每个消息都路由到 out 终端。如果该操作失败,则重试消息。如果重试超时到期(如输入队列的 BackoutThreshold 属性所定义的那样), 则消息路由到 failure 终端;您可通过将节点与此终端相连来处理这情况。如果您未连接 Failure 终端,则消息会写入回退队列。

如果消息是已经在消息流中进一步抛出异常后由节点捕捉到的,则将该消息路由到 catch 终端。如果没有连接 catch 终端,则消息通过节点持续循环直至问题解决。您必须定义回退队列或死信队列(DLQ),继续通过节点阻止消息循环。

对协调事务进行配置

当您将 MQeInput 节点包含在消息流中时,您为事务方式属性设置的值会定义是否在同步点下接收消息:

  • 如果将值设置为(缺省值),则在同步点下接收消息(即,在 WebSphere MQ 工作单元中)。除非消息流的同一实例中的输出节点已经明确地忽略该设置,否则将任何随后由输出节点发送的消息都放在同步点下。
  • 如果您将其设置为自动,则当入局消息标记为持久时,在同步点下接收消息。反之不然。除非输出节点已经明确地忽略该设置,否则如入局持久性属性确定的,将任何随后由输出节点发送的消息都放在同步点下。
  • 如果您将它设置为,则不会在同步点下接收消息。除非个别输出节点已经指定应该将 消息放在同步点下,否则不会将任何随后由流中的输出节点发送的消息放在同步点下。

(MQOutput 节点是您可以配置为覆盖此选项的唯一输出节点。)

终端和属性

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

终端 描述
Failure 如果发生错误,消息路由到的输出终端。
Out 如果从 WebSphere MQ Everyplace 队列成功检索到消息,则这就是消息路由到的输出终端。
Catch 如果下游抛出异常并由此节点捕获,则这是消息路由到的输出终端。

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

下表描述 MQeInput 节点的“缺省”属性。

属性 M C 缺省值 描述
消息域   用于解析入局消息的域。
消息集   定义入局消息的消息集的名称或标识。
消息类型   入局消息的名称。
消息格式   入局消息物理格式的名称。
主题   输入消息的缺省主题。

在以下表中描述了 MQeInput 节点常规属性。

属性 M C 缺省值 描述
队列名   WebSphere MQ Everyplace 网桥队列的名称,节点从该网桥队列检索由该消息流处理的消息。
跟踪 您对此节点要求的跟踪级别。有效值为标准调试全部
跟踪文件名 \MQeTraceFile.trc 写跟踪记录的文件名。
事务方式 是否在同步点下接收入局消息。 有效值为自动
使用配置文件 已清除 将配置文件用于该节点。如果您选中该复选框,则执行此操作。
配置文件名 \MQeconfig.ini 如果选中使用配置文件复选框要使用的配置文件的名称。
队列管理器名 ServerQM1 WebSphere MQ Everyplace 队列管理器的名称。

在以下表中描述了 MQeInput 节点通道属性。

属性 M C 缺省值 描述
最大通道数 0 WebSphere MQ Everyplace 队列管理器支持的最大通道数。

在以下表中描述了 MQeInput 节点注册表属性。

属性 M C 缺省值 描述
类型 文件注册表 要使用的注册表信息类型。有效值为文件注册表专用注册表
目录 \ServerQM1\registry 注册表文件所在的目录(仅当选择文件注册表时有效)。
PIN   WebSphere MQ Everyplace 队列管理器关联的 PIN(仅当选择专用注册表时才有效)。
证书请求 PIN   用于请求认证的 PIN(仅当选择专用注册表时才有效)。
密钥环密码   用于查看加密密钥的密码(仅当选择专用注册表时才有效)。
证书主机   证书服务器的名称(仅当选择专用注册表时才有效)。
证书端口   证书服务器的端口(仅当选择专用注册表时才有效)。

在以下表中描述了 MQeInput 节点侦听器属性。

属性 M C 缺省值 描述
侦听器类型 Http 侦听器的适配器类型。有效值为 HttpLengthHistory
主机名 127.0.0.1 服务器的主机名。
端口 8081 WebSphere MQ Everyplace 进行侦听所在的端口。
时间间隔 300 WebSphere MQ Everyplace 轮询间隔,以秒为单位。

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

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