这是我的场景。BizTalk 需要从共享/中央文档库传输文件。第一个 BizTalk 接收到带有库中此文档的引用/路径的传入消息。然后它只需要从这个库中读取它并发送它(可能通过不同的适配器)。这实质上是一个与 ClaimCheck EAI 模式相距不远的场景。
一些实现声明检查的方法已记录在案,特别是BizTalk ESB 工具包声明检查和 BizTalk 2009:处理超大消息,第 I 部分和第 II 部分。然而,这些实现确实假设发送管道可以立即读取已“签入”的流。</p>
这不是我的情况:文档在共享库中可用之前需要一些时间,我不能延迟最初收到的消息。这给我留下了两个选择:要么通过编排引入一些延迟,要么确保发送端口稍后会在文档不存在时重试。
(延迟只能通过编排引入,BizTalk 中没有基于时间的订阅。对吗?)
由于这是一个仅消息流,我想我可以跳过编排。我已经看到了有关如何在“使用管道的仅消息解决方案中自定义重试逻辑”的方法,但我需要的不仅是一种控制重试行为(由适配器执行)的方法,而且还可以从管道内强制执行它…</p>
到目前为止,我所做的每一次尝试都以暂停消息结束,即使发送适配器已配置重试,也不会自动重试……如果这确实可能,那么我应该在哪里/做什么?
哦,对了……还有排队……但不幸的是,既不在本地也不在云端;)
好吧,我可能是在挑战极限……但只是出于好奇……</p>
非常感谢您的帮助和建议!