簡體   English   中英

如何在 Mule 中獲取示例 DAT 文件並通過其 header 打破每條記錄?

[英]How to take in a sample DAT file and break each record by its header in Mule?

我正在嘗試將示例 DAT 文件放入 Mule 應用程序中。

SEC.DAT

D1030325 ADFSA 12321.00 XXXX 
A1354610 AEWTF 94332.00 AAAA
V1030325 ADFSA 12321.00 XXXX

我對這個平台還很陌生,對如何在這種情況下構建流程有些迷茫,但我的目標是打破每條記錄的初始值。

例子:

其中示例 D、A 和 V 是條件。

預期產出:

SEC1.DAT

D1030325 ADFSA 12321.00 XXXX

SEC2.DAT

A1354610 AEWTF 94332.00 AAAA

SEC3.DAT

V1039325 AOFSA 12321.00 XXYF

這是關於處理文件的 Mule 應用程序。 該平台的 rest 對這個特定問題沒有影響。

假設它是一個固定長度文件但不使用 DataWeave 固定長度功能,您可以將輸入文件視為單個字符串(即格式 text/xml)。

首先,您可以使用 DataWeave 轉換將記錄拆分為行尾:

%dw 2.0
output application/java
---
payload splitBy "\n"

之后有一個<foreach>循環遍歷每條記錄。 <foreach>的主體內有一個<choice>路由器到 select,output 文件根據記錄的第一個字符寫入。 條件示例: $[0] == "A" 然后在<choice>的那個分支中,只需將 append 寫入記錄列表或直接寫入文件(附加)。

請注意,如果添加任何類型的並發,直接寫入將無法按預期工作,因為重疊寫入可能會損壞 output。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM