使用FTP适配器的事务



我想从服务器拉一些东西(不删除),在管道组件中解析文件,处理文件,如果一切顺利,我想要适配器删除文件。

我正在考虑将解析纳入管道上下文,这样,我在想象如果文件不能被解析,文件将无法到达消息框,因此它将被视为失败的事务,问题是,适配器会参与此事务吗?换句话说,我的目标是指示适配器在管道处理成功(事务提交)时从服务器上删除文件ONLY,如果管道失败(事务回滚,没有消息提交到消息框),则文件在服务器上保持不变

这是可行的吗?提前感谢

我想做个小实验。BizTalk,作为其性质的一部分,不会删除任何东西,直到它已经被持久化到消息框。也就是说,持久化可能发生在PipeLine执行之前。因此,接收适配器接收该文件,将其保存到消息框中并删除该文件。消息随后可能在管道中失败。如果是这种情况,那么消息的格式是错误的,并且随后必须由发送方重新提交。如果要保留此消息,则必须使用"失败消息路由"来获取它。然后可以将其写入目录并实现重新提交模式。或者,您可以通过失败消息路由获取文件并将其放回FTP服务器(这是一种补偿步骤)。

另一方面,如果管道失败并且消息没有从服务器上删除…你很好。

最新更新