【发布时间】:2010-10-26 04:07:45
【问题描述】:
如果长期运行的服务响应失败,因此需要重新发送启动消息
我遇到的情况是,业务流程向 MSMQ 队列发送消息,然后在另一个队列上等待回复。现在响应时间应该不到一分钟,但队列另一端的“服务”偶尔会失败......
这不是我可以控制的,所以我无法更改/纠正它
我可以在 BizTalk 中使用一些设计模式来超时并重新发送启动消息吗?
【问题讨论】:
标签: architecture msmq biztalk
如果长期运行的服务响应失败,因此需要重新发送启动消息
我遇到的情况是,业务流程向 MSMQ 队列发送消息,然后在另一个队列上等待回复。现在响应时间应该不到一分钟,但队列另一端的“服务”偶尔会失败......
这不是我可以控制的,所以我无法更改/纠正它
我可以在 BizTalk 中使用一些设计模式来超时并重新发送启动消息吗?
【问题讨论】:
标签: architecture msmq biztalk
定义一个可用于重试发送消息的单一编排,这些要放入队列的消息是从消息框中提取的。
如果来自响应队列的响应出现延迟,请使用单例循环 重新发送消息。
旁注: 您可能必须在发送端口上启用 Delivery Notification 属性,以侦听您可能遇到的任何异常。
参考文章...
【讨论】:
标准 BPEL 定义了“Pick”活动 BizTalk 有“听”的形状 所以你基本上可以为回复队列上的接收活动定义一个超时时间 之后,您可能需要一个布尔标志来决定是回送/重试还是接收成功,因此业务流程继续进行。
【讨论】: