使用 MQ 获取消息活动可以在运行时期间从 MQ 队列中检索消息。
字段 | 描述 |
---|---|
队列名称 * | 指定 MQ 队列(Integration Appliance 尝试从中检索消息)的名称。 |
超时 | 在 MQ 获取消息活动请求从队列中检索消息和返回消息之间发生超时情况前的秒数。如果此超时已到期,并且未从队列返回任何消息,那么 Integration Appliance 将等待指定的重试时间,然后将再次尝试检索消息。
有关超时和重试选项的详细信息,请参阅超时和重试选项。 要指定 Integration Appliance 在发出超时之前应等待的秒数,请选择之后选项,然后在秒数字段中输入秒数。 缺省情况下,将选择从不选项,此选项指定 Integration Appliance 在从队列中检索到消息之前会无限期地等待,即没有超时期。 |
有效内容数据类型 | 指定消息有效内容的数据类型:二进制或字符串。 |
MQRFH2 头的模式片段 | 指定 MQRFH2 头是否包含在消息中。
如果消息包含 MQRFH2 头,那么请选中此复选框并单击 [...]。在浏览至模式类型元素对话框中,找到用于定义头的 XML 模式,在该 XML 模式中选择 NameValueData 元素,然后单击确定。模式片段为 NameValueData 元素及其所有子元素。 注: 必须首先创建用于定义头的 XML 模式,并将其装入到项目中,然后才能选择该 XML 模式。有关更多信息,请参阅为 MQRFH2 头定义和装入 XML 模式。
|
字段 | 描述 |
---|---|
交付消息 | 此处可用的选项取决于是否选中了唯一标识复选框。如果已选中,那么所有这三个选项均可用。如果未选中,那么只会显示至少一次。
|
其中消息具有唯一标识 | 指定队列中的消息是否具有唯一标识。 |
配置用于从 MQ 队列中获取消息的重试选项,如下表中所述:
重试选项 | 描述 |
---|---|
1) 在前后两次重试之间等待 __ 秒。 | Integration Appliance 在尝试从队列中检索消息之前要等待的秒数。要进一步了解此选项与配置窗格中的超时字段或者 timeout 输入参数之间的关系,请参阅超时和重试选项。 |
2) 在尝试连接 ___ 次后失败。 | 指定 Integration Appliance 在发出错误并停止处理当前编排作业之前尝试从队列中检索消息的最大次数。
如果部署了包含 MQ 获取消息活动的编排,而且 Integration Appliance 无法连接指定的 MQ 服务器或无法从队列中获取消息,那么 Integration Appliance 会将错误以警告的形式记录在系统和编排日志中,直至达到重试计数值。在达到重试计数后,Integration Appliance 会在系统和编排日志中记录错误,并停止处理当前编排作业。 例如,将重试计数设置为 3。第一个、第二个和第三个连接错误在系统日志中显示为“警告”。Integration Appliance 将以错误形式记录第四个错误,并停止处理当前编排作业。 要进一步了解此选项与配置窗格中的超时字段或者 timeout 输入参数之间的关系,请参阅“超时”和“重试”选项。 |
活动的输入参数会显示在目标活动窗格中。
在运行时,该活动会对队列中的消息依次进行迭代。如果未将任何内容映射到这些节点,那么将不会限制任何内容,从而返回队列中的第一条消息将由 MQ 获取消息活动返回,并且编排中的下一个活动将得到处理。
如果所有这些节点都已映射,那么 MQ 获取消息活动会在运行时期间迭代队列中的每条消息,直至找到与所有已映射节点的运行时值匹配的第一条消息。第一条匹配消息将由 MQ 获取消息活动返回,并且编排中的下一个活动将得到处理。
您也可以选择使用下表所定义的输入参数来覆盖自己在运行时期间在核对表的配置任务中动态指定的队列名称和超时设置。
例如,可以在配置任务中将 MQ 队列名称设置为 poqueue。在运行时,可以使用 queuename 输入参数将 MQ 队列名称 newqueue 传递到此活动中。在运行时期间动态指定的队列名称会覆盖配置面板所指定的原始设置。 在此示例中,Integration Appliance 将查看名为 newqueue 的 MQ 队列中的消息。
输入参数名称/节点 | 描述 | 是否覆盖任务中的设置? |
---|---|---|
timeout | 指定 Integration Appliance 在请求从队列检索消息之后直到重试之前等待的时间量。 指定负数可指定无超时期 - Integration Appliance 在从队列中检索到消息之前无限期等待。指定负数等同于在配置任务中指定从不选项。 |
timeout 输入参数会覆盖配置任务的超时字段。 |
queuename | 指定 MQ 队列的名称(Integration Appliance 将在该队列中查找消息)。 | queuename 输入参数会覆盖在配置任务的队列名称字段中指定的编码。 |
请参阅创建映射以获取有关映射的一般指示信息。
您不需要为此活动映射输出参数。请参阅创建映射以获取有关映射的一般指示信息。
在配置任务的超时字段或 timeout 输入参数中指定的超时可以指定在 MQ 获取消息活动请求从队列中检索消息和返回消息之间发生超时情况前的秒数。如果此超时已到期,并且未从队列中返回任何消息,那么 Integration Appliance 将等待在 1) 在两次重试之间等待 ___ 秒选项中指定的时间量,然后再次尝试检索消息。Integration Appliance 会不断尝试获取消息直至达到指定的重试计数。 重试计数通过 2) 在尝试连接 ___ 次后将失败来指定。1) 在两次重试之间等待 ___ 秒和 2) 在尝试连接 ___ 次后将失败选项在重试选项任务中指定。