为什么apache/camel处理后会删除文件

问题描述 投票:0回答:1

我们使用Camel来读取文件并检查文件的内容。我们不需要将文件转发到端点。下面是我们用于设置 Camel 的构建。问题是Camel在处理完文件后删除了文件。如何避免文件被删除?

public void configure() {
    from(
        file(inputDirectory).initialDelay(initialDelay).delete(false).antInclude("*.pdf").readLock("markerFile").readLockDeleteOrphanLockFiles(false).maxMessagesPerPoll(500))
        .routeId("signaturcheck")
        .throttle(8).timePeriodMillis(100)
        .process(checkFile)
        .log("File handled ${file:name}")
        .stop();
}
java apache-camel quarkus
1个回答
0
投票

看起来是 stop() 负责删除 inputDirectory 中的文件。 因此,我们创建了一个不同的配置,并且无需删除文件即可工作。

public void configure() {
    from(
        file(inputDirectory).initialDelay(initialDelay).delete(false).antInclude("*.pdf").readLock("markerFile").readLockDeleteOrphanLockFiles(false).maxMessagesPerPoll(500))
        .routeId("signaturcheck")
        .throttle(1000).timePeriodMillis(100)
        .process(checkFile)
        .log("File handled ${file:name}")
        .to("stub:null?discardWhenFull=true");
}
© www.soinside.com 2019 - 2024. All rights reserved.