要允许消息流内的并发处理,同时仍然序列化不同执行组中的消息流之间的消息,则序列化标记的范围要限制在单个执行组中。
本示例演示序列化标记限制在运行于代理上的单个执行组中:
- 在不同消息流中的两个 MQInput 节点(在本案例中是 MyFlowA 和 MyFlowB)正运行于同一个执行组 MyGroupA 中。虽然两个 MQInput 节点使用相同的序列化标记,但它们可从共享输入队列并发地获取消息。
- 如果需要在单个消息流中序列化,则消息流属性附加实例必须设置为零(缺省设置)。然而,如果需要更大的吞吐量,并且流中的输入序列化不重要,则可以将附加实例设置为大于零的值。
- 在 MQInput 节点使用序列化标记属性不会序列化同一个执行组中操作的消息流之间的输入。然而,设置该属性也不会对执行组中的处理有任何负面影响。
- 使用这种方法,可以使代理上消息流中的吞吐量最大化,同时仍可序列化代理间的输入。如果当前活动代理需要停止以进行维护,或是其意外失败,需要有一个或多个代理执行为立即待机时,这会很有用。