我正在从不同文件夹中读取多个文件并将它们合并为一个,但无法合并到一个文件中。
我正在使用复合源,在其中添加了两个文件连接器,然后将有效载荷记录到Logger中。有效载荷我得到一个。如何获得两个不同有效载荷或多个文件输入的一个有效负载组合?
<flow name="file2Flow">
<composite-source doc:name="Copy_of_Composite Source">
<file:inbound-endpoint path="src/main/resources/input1" responseTimeout="10000" doc:name="File"/>
<file:inbound-endpoint path="src/main/resources/input2" responseTimeout="10000" doc:name="File"/>
</composite-source>
<file:file-to-string-transformer doc:name="File to String"/>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
我也在尝试此操作,但没有获得输出
<flow name="file2file2Flow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/files" doc:name="HTTP"/>
<scatter-gather doc:name="Scatter-Gather">
<file:outbound-endpoint path="src/main/resources/input1" responseTimeout="10000" doc:name="File"/>
<file:outbound-endpoint path="src/main/resources/input1" responseTimeout="10000" doc:name="File"/>
</scatter-gather>
<dw:transform-message doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
{
post1: payload[0],
post2: payload[1]
}]]>
</dw:set-payload>
</dw:transform-message>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>
file:inbound-endpoint
将对一个目录进行轮询,因此,如果您需要不同的目录。
composite-source
允许它,但它们不会在同一有效载荷中可用。
file:outbound-endpoint
仅用于编写文件。
在m子3中,您可以通过poll
的组合来实现这一目标,以触发流量,散布收集到多个处理器的路线和mule请求器模块以读取文件中间的文件。
mule请求者模块:https://www.mulesoft.com/exchange/68EF9520-24E9-4CF2-B2F5-620025690913/requester-module/
粗略的示例:
<flow name="dw-testFlow">
<poll doc:name="Poll" frequency="10000">
<logger level="INFO" doc:name="Logger" />
</poll>
<scatter-gather doc:name="Scatter-Gather">
<mulerequester:request config-ref="muleRequesterConfig" resource="myFileEndpoint" doc:name="Mule Requester" />
<mulerequester:request config-ref="muleRequesterConfig" resource="myFileEndpoint" doc:name="Mule Requester" />
</scatter-gather>
</flow>