【问题标题】:Debatching Biztalk flat file message into individual grouped flat files based on value根据值将 Biztalk 平面文件消息分批成单独的分组平面文件
【发布时间】:2021-06-27 21:05:03
【问题描述】:

有一个问题,我试图根据原始文件中的值(在本例中为 PONumber)将 BizTalk Server 中的平面文件(逗号分隔为制表符分隔)分批成单独的平面文件。

示例输入:

PartNumber,Weight,PONumber,Other
21519,234,46788,1
81919,456,47115,1
91910,789,47115,1

这将产生 2 条消息,例如:

PartNumber  Weight  PONumber    Other
21519   234 46788   1

PartNumber  Weight  PONumber    Other
81919   456 47115   1
91910   789 47115   1

我见过类似的东西,但没有明确的答案,或者样本是死链接。有没有人有做过类似事情的样本或有好的解决方案?

【问题讨论】:

  • 您的示例没有意义,两者都是 PONumber = 1。您的意思是第二条消息是 PONumber =2 吗?如果是这样,您正在查看的是分散聚集模式
  • @Dijkgraaf 如果您查看其制表符分隔的上方,PONumber 值是 46788 和 47117 值。抱歉,如果原始描述不清楚。

标签: biztalk biztalk-2016


【解决方案1】:

选项 1:车队模式

更改您的架构,使其订单行的最大出现次数为 1,这将在收到每一行时将其分批成其自己的消息。

提升 PONumber 使其成为消息上下文中的提升属性。

拥有一个具有基于 PO 编号的相关集的业务流程,并在第一个接收形状时对其进行初始化。

具有以下相关性的接收形状,该形状在循环内处于等待形状,以接收具有相同 PO 编号的所有其他行并将它们组合成一条消息。

选项 2:暂存数据库

另一种选择是将所有行插入 SQL 数据库,然后使用一个轮询存储过程来获取单个 PO 的所有行。

这有时会更简单,并避免Zombies 的问题,因为您可以将其实现为仅消息传递模式或使用更简单的无循环编排。

【讨论】:

  • 从来没有使用编排完成所有这些步骤(不熟悉它们),你有这样的示例链接吗?在此期间我会努力跟进!
  • @JackBlack 我环顾四周,有一些关于 Correlation 的文章,还有一些关于 Convoy 模式的文章接近了,但并不完全匹配。我还给了你另一个选择。
  • 看看能不能找到数字 2 的一些例子……听起来不错,但又不确定如何设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多