有两种情况可能需要使用超时:
如果超时时间间隔已过而应答未全部到达,则已经到达的应答已经通过相应的 AggregateReply 节点转为聚集的应答消息,并传播 到其 timeout 终端。您可以选择使用与处理完整的聚集应答消息相同的方法处理此部分响应消息。如果您愿意,可以为未完成的聚集应答提供特殊处理。
如果您发送同步点外的请求消息则最可能发生这些情况,并可能导致将有效的应答发送到 unknown 终端。要减少此事件的发生的可能性,请执行以下操作:
如果未知超时时间间隔到期,但消息可识别了,则对消息进行处理。节点还检查来查看以前未知的消息是否是完成聚集需要的最后应答。如果是,构造和传播聚集应答消息。
如果未知超时时间间隔到期并且仍不能识别消息,则消息传播到 unknown 终端。