本主题包含以下部分:
使用 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 节点开始的消息流中包含了一个输出节点,则它可以是任何受支持输出节点,包括用户定义的输出节点;不必包含 MQeOutput 节点。 您可创建从 WebSphere MQ Everyplace 客户机接收消息并为使用任何受支持传输连接到代理的客户机生成消息的消息流,因为您可以配置消息流以请求代理提供任何必要的转换。
WebSphere MQ Everyplace V1.2.6 由 WebSphere Event 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 节点在工作台中由以下图标表示:
要获取可以如何使用此节点的示例,考虑一位检查他的田地的农场主,查看这些田地灌溉情况。他正拿着安装好 WebSphere MQ Everyplace 的 PDA 设备。他发现一片需要灌溉的田地,因此使用 PDA 和全球卫星导航链接将消息发送到 MQeInput 节点。一条消息,以便远程 SCADA 设备可以获取消息并触发灌溉洒水器。农场主可以在他发送消息后一会儿看到水输送到田地里。
您可以在 WebSphere MQ Web 页面 上的 WebSphere MQ Everyplace 文档中查找有关 WebSphere MQ Everyplace 和节点属性的详细信息。
当您将 MQeInput 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 节点的缺省属性在“属性”对话框中显示。
对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。
如下所示配置 MQeInput 节点:
如果您将跟踪级别设置为调试或全部,则会影响 WebSphere MQ Everyplace 的性能,并会生成重要跟踪文件。仅在短期内使用这些选项。
如果您选中该复选框,则所有属性的定义都是从配 置文件名标识的文件抽取的(如下所述),并带有以下异常:
仅可以支持一个 WebSphere MQ Everyplace 队列管理器。只有一个执行组可以包 含 MQeInput 或 MQeOutput 节点。因此,该属性必须设置为各 MQeInput 节点中的相同值,该节点包含在部署到相同代理的每个消息流中。
因为通道是比单个队列管理器请求保持更久的逻辑实体,并可以在网络断开时幸存,可能需要一段时间处于非活动状态的超时通道。
单击取消以关闭对话框,并废弃对属性所作的所有更改。
MQeInput 将它成功获取的每个消息都路由到 out 终端。如果该操作失败,则重试消息。如果重试超时到期(如输入队列的 BackoutThreshold 属性所定义的那样), 则消息路由到 failure 终端;您可通过将节点与此终端相连来处理这情况。如果您未连接 Failure 终端,则消息会写入回退队列。
如果消息是已经在消息流中进一步抛出异常后由节点捕捉到的,则将该消息路由到 catch 终端。如果没有连接 catch 终端,则消息通过节点持续循环直至问题解决。您必须定义回退队列或死信队列(DLQ),继续通过节点阻止消息循环。
当您将 MQeInput 节点包含在消息流中时,您为事务方式属性设置的值会定义是否在同步点下接收消息:
(MQOutput 节点是您可以配置为覆盖此选项的唯一输出节点。)
在以下表中描述了 MQeInput 节点终端。
终端 | 描述 |
---|---|
Failure | 如果发生错误,消息路由到的输出终端。 |
Out | 如果从 WebSphere MQ Everyplace 队列成功检索到消息,则这就是消息路由到的输出终端。 |
Catch | 如果下游抛出异常并由此节点捕获,则这是消息路由到的输出终端。 |
下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。
在以下表中描述了 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 | 侦听器的适配器类型。有效值为 Http、Length 和 History。 |
主机名 | 是 | 是 | 127.0.0.1 | 服务器的主机名。 |
端口 | 是 | 是 | 8081 | WebSphere MQ Everyplace 进行侦听所在的端口。 |
时间间隔 | 是 | 是 | 300 | WebSphere MQ Everyplace 轮询间隔,以秒为单位。 |
下表描述 MQeInput 节点的“描述”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
简短描述 | 否 | 否 | 节点的简要描述。 | |
详细描述 | 否 | 否 | 描述消息流中节点用途的文本。 |