我有2个流程处理nodes.flow和relationships.flow,最终这两个流程都写入数据库。
节点和关系从单独的 tsv 文件读取并通过 fileconnector 端点读取
我想要同步流,以便nodes.tsv 应始终在relationships.tsv 之前得到处理。像这样的事情:
- 如果仅nodes.tsv存在 - 处理它..
- 如果仅存在lations.tsv,请等待nodes.tsv出现在磁盘上并在relationships.tsv之前处理nodes.tsv..
有什么想法吗?
谢谢
最佳答案
阅读您的规范后,您需要的唯一文件入站端点是等待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>
获取关系文件。如果它不存在,过滤器将在那里停止流动。如果存在,那么流程中的后续内容将能够处理它。
关于Mule:根据文件可用性同步 Mule 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18625487/