【问题标题】:Mule Quartz polling FTP endpointMule Quartz 轮询 FTP 端点
【发布时间】:2013-10-18 22:09:45
【问题描述】:

我正在使用石英轮询器来轮询 FTP 端点,但我的问题是,当轮询器运行时,它不会从给定的路径或目录中选择超过 1 个文件,它只会选择一个文件。我们如何才能在轮询器启动时获取每个文件。 ?

感谢期待。

【问题讨论】:

    标签: ftp quartz-scheduler mule


    【解决方案1】:

    我遇到了同样的问题,并使用 2 个单独的流程解决了它。还使用自定义接收器来避免删除远程文件,并使用 java 组件来通知作业完成,请参见以下流程:

    <ftp:connector name="ftp-connector" passive="true" streaming="true" binary="true">
        <service-overrides messageReceiver="app.NonDeletingFtpMessageReceiver" />
    </ftp:connector>
    
    <ftp:endpoint name="ftp-fetch" connector-ref="ftp-connector"
        host="${pr.ftp.host}" port="${pr.ftp.port}" path="${pr.ftp.remotePath}"
        user="${pr.ftp.user}" password="${pr.ftp.password}">
        <file:filename-wildcard-filter pattern="${pr.ftp.filePattern}" />
    </ftp:endpoint>
    
    <quartz:endpoint name="quartz-batch" jobName="cron-job"
        cronExpression="${pr.ftp.cron}" responseTimeout="${pr.ftp.timeout}">
        <quartz:event-generator-job />
    </quartz:endpoint>
    
    
    <flow name="ftp-scheduler-flow" doc:name="ftp-scheduler-flow">
        <inbound-endpoint ref="quartz-batch" />
        <echo-component />
        <flow-ref name="ftp-process-fetch-flow" />
        <component class="app.FTPFetchHandler" />
    </flow>
    
    <flow name="ftp-process-fetch-flow">
        <inbound-endpoint ref="ftp-fetch" />
        <expression-filter evaluator="header"
            expression="originalFilename!=null" />
        <file:outbound-endpoint path="${pr.ftp.localPath}"
            responseTimeout="${pr.ftp.timeout}" outputPattern="#[header:originalFilename]" />
    </flow>
    

    【讨论】:

      【解决方案2】:

      quartz 轮询端点消息源设计为在每次触发时处理单个 mule 事件,因此根据设计它只会消耗一个文件。

      这被报告为bug,但查看代码可能应该归类为增强请求。

      要获得不同的行为,您应该编写自己的自定义组件并使用它从 ftp 检索所有文件,或者依赖 ftp 传输本身。

      HTH

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-18
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-04
        相关资源
        最近更新 更多