【问题标题】:Apache Camel Quartz + File copyApache Camel Quartz + 文件复制
【发布时间】:2013-10-03 14:57:20
【问题描述】:

我是 apache-camel 的新手。我要求项目将文件从一个位置复制到另一个位置。为此,我通过 Camel 实际操作并将其解决为:

from("{{INPUT_FILE_PATH}}")
    .process(new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {

            System.out.println("TESTING========="+exchange.getIn().getBody());


        }
    }).to("{{PROCESSED_FILE_PATH}}");

但现在我需要用骆驼实现石英。我浏览了骆驼网站上与石英相关的一些文章,但我对此感到困惑。我需要在每天早上 5 点处理文件。我也尝试过输入文件名的延迟,但是当你想在特定的间隔时间后获取文件时它可以工作。所以如果你们中的任何人用骆驼实现了石英,请告诉我如何用上面的代码实现它。

谢谢, 维沙尔

【问题讨论】:

    标签: apache quartz-scheduler


    【解决方案1】:

    您可以使用camel Quartz 进行如下尝试。 在你的 pom.xml 中添加 camel-quartz 依赖

    默认情况下Quartz在类路径中查找quartz.properties,你也可以在xml中提供配置细节,如下图:

    <bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent">
        <property name="propertiesFile" value="com/test/app/myquartz.properties"/>
    </bean>
    
    Using above bean form your route as below
    
       <route>
            <from uri="quartz://fileProcessorJob?cron=0+0+1+*+*+?"/>
            <to uri="file:data/inbox?noop=true"/>
            <to uri="file:data/outbox"/>
        </route>
    

    【讨论】:

    • 但是,如果我想对使用 file:date/inbox 获取的文件进行一些处理怎么办?因为我打算使用 Bindy 将我的 CSV 文件映射到 Pojo 并对记录进行一些处理。那么我如何将所有这些东西与注释/ xml 结合起来。 (即 Quartz 实现,文件:数据/收件箱获取,Bindy 将 CSV 记录映射到对象)。你能给我举个同样的例子吗,那会很有帮助。
    • 这行得通吗?在我的例子中,第一个 to 标记尝试将空文件写入文件夹。
    猜你喜欢
    • 2011-12-05
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多