【问题标题】:Camel ftp get file from ftp location on demandCamel ftp 按需从 ftp 位置获取文件
【发布时间】:2018-07-25 18:50:12
【问题描述】:

您好我有一个场景,我通过soap服务调用从远程ftp位置选择文件得到通知。ftp服务器详细信息将相同,但文件夹名称和文件将动态发送, 我如何使用 apache camel 来实现它? 任何建议或想法都可能会有所帮助。

【问题讨论】:

    标签: camera jbossfuse integration-patterns


    【解决方案1】:

    我认为您应该为此使用 headers。因此,您将动态信息加载到标头中,并在带有 toD 的 ftp 组件中使用它们。

    所以你可以有类似下面的东西

    <toD uri="sftp:username:password@ftp.server.com/${header.CamelFolder}?fileName=${header.CamelDownloadFile}"/>
    

    但由于您想从路径中间的 FTP 获取,您可以尝试 Content Enricher EIP

    <route>
      <from uri="..."/>
      <!-- set your dynamic values as headers -->
      <setHeader headerName="CamelFolder">
         <simple>...</simple>
      </setHeader>
      <setHeader headerName="CamelDownloadFile">
         <simple>...</simple>
      </setHeader>
    
      <pollEnrich>
        <simple>sftp:username:password@ftp.server.com/${header.CamelFolder}?fileName=${header.CamelDownloadFile}</simple>
      </pollEnrich>
      ...
    </route>
    

    【讨论】:

    • 嗨 Themis,我需要按需从 FTP 位置获取文件,而不是将文件发送到 FTP 位置。
    • 嗨,你说得对,我很困惑。但是,如果您在标题处使用带有动态信息的 from?你试过了吗?
    • 嗨,我不确定如何在路由中间检索文件。使用 from uri 将始终轮询到 ftp 位置,并且 to/toD uri 用于发送到远程 ftp。是有什么可以使用的 EIP 模式?
    • 我认为您需要内容丰富器 Eip。请参阅camel.apache.org/content-enricher.html 部分使用动态 uris
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    相关资源
    最近更新 更多