首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理所有文件何时完成并放置在骆驼中

如何处理所有文件何时完成并放置在骆驼中
EN

Stack Overflow用户
提问于 2015-07-21 05:27:02
回答 2查看 190关注 0票数 1

我是骆驼新手。让我解释一下我的业务需求,我在文件夹A中有大约10个文件。特别是,这10个文件将被处理,并执行业务逻辑,并将文件移动到文件夹B中。每个文件分别放置一个已完成的文件。我需要处理来自文件夹B的文件,以便进行下一次业务操作。但我需要开始这个过程时,只有当所有10个已完成的文件被放置。在完成前一个过程中的所有10个文件之前,我不应该开始这个过程。如何在骆驼身上做到这一点。

注意:我不想在我的第二条路线上使用任何cron。10文件是假设。它可能是动态的

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2015-07-21 06:56:01

在继续处理第二部分之前,您可以使用集料器来聚合已处理的文件。

您将得到类似于以下内容的内容:

代码语言:javascript
复制
<route>
  <from uri="file://<Folder A>" />

  <!-- your business logic -->

  <aggregate strategyRef="aggregatorStrategy" ...>
    ...
  </aggregate>

  <!-- here goes the business logic used to poll files from Folder B -->

</route>
票数 0
EN

Stack Overflow用户

发布于 2015-07-22 13:35:36

也许您可以使用"alldone“文件:

代码语言:javascript
复制
<route>
  <from uri="file://<Folder A>?scheduler=<particular time>" />
  <!-- your business logic part 1-->
  <to uri="file://<Folder B>" />
  <choice>
    <when>
      <simple>${exchangeProperty.CamelBatchComplete}</simple>
      <setBody><constant>null</constant></setBody>
      <setHeader headerName="CamelFileName">
        <simple>alldone</simple>
      </setHeader>
      <to uri="file://<Folder B>" />
    </when>
  <choice>
</route>

<route>
  <from uri="file://<Folder B>?doneFileName=alldone" />
  <!-- your business logic part 2-->
</route>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31531027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档