我有2个流处理nodes.flow和relationships.flow,最后两个流都写入数据库。
节点和关系从单独的tsv文件中读取,并通过文件连接器端点
读取我想同步流,以便在relationships.tsv之前始终处理nodes.tsv。像这样:
任何想法?
感谢
答案 0 :(得分:1)
默认情况下,当文件出现在目标目录中时,文件端点将处理,因此我将省去其中一个端点,而在主端点中只需拉出从属文件:
muleClient.request('file://D:/foo/in', -1);
或者在从属流上有一个文件名过滤器,然后让主流重命名slave目录中的文件以匹配文件过滤器。
答案 1 :(得分:1)
阅读您的规范,您需要的唯一文件入站端点是等待nodes.tsv文件的文件。
获取此文件后,按预期处理。
然后,在流程中,使用:
<scripting:component>
<scripting:script engine="groovy"><![CDATA[
muleContext.client.request('file:///....../relationships.tsv', eventContext.timeout)
]]></scripting:script>
</scripting:component>
<message-filter throwOnUnaccepted="false">
<not-filter>
<payload-type-filter expectedType="org.mule.transport.NullPayload" />
</not-filter>
</message-filter>
获取关系文件。如果它不存在,过滤器将停止流动。如果它存在,那么流程中的后续内容将能够处理它。