【问题标题】:Handling failures with MSMQ in BizTalk by resending通过重新发送处理 BizTalk 中的 MSMQ 失败
【发布时间】:2010-10-26 04:07:45
【问题描述】:

如果长期运行的服务响应失败,因此需要重新发送启动消息

我遇到的情况是,业务流程向 MSMQ 队列发送消息,然后在另一个队列上等待回复。现在响应时间应该不到一分钟,但队列另一端的“服务”偶尔会失败......
这不是我可以控制的,所以我无法更改/纠正它

我可以在 BizTalk 中使用一些设计模式来超时并重新发送启动消息吗?

【问题讨论】:

    标签: architecture msmq biztalk


    【解决方案1】:
    1. 定义一个可用于重试发送消息的单一编排,这些要放入队列的消息是从消息框中提取的。

    2. 如果来自响应队列的响应出现延迟,请使用单例循环 重新发送消息。

    旁注: 您可能必须在发送端口上启用 Delivery Notification 属性,以侦听您可能遇到的任何异常。

    参考文章...

    Handling Exceptions in BizTalk Orchestrations

    【讨论】:

      【解决方案2】:

      标准 BPEL 定义了“Pick”活动 BizTalk 有“听”的形状 所以你基本上可以为回复队列上的接收活动定义一个超时时间 之后,您可能需要一个布尔标志来决定是回送/重试还是接收成功,因此业务流程继续进行。

      【讨论】:

        猜你喜欢
        • 2013-03-30
        • 2010-09-21
        • 2012-09-16
        • 2013-09-29
        • 1970-01-01
        • 2019-07-07
        • 2020-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多