代码之家  ›  专栏  ›  技术社区  ›  ave4496

如果目标相同,则跳过文件复制

  •  0
  • ave4496  · 技术社区  · 4 年前

    public class App {
    
        public static void main(String[] args) {
            final long durationMs = 2000;
            final CamelContext camelContext = new DefaultCamelContext();
            try {
                camelContext.addRoutes(new RouteBuilder() {
                    @Override
                    public void configure() throws Exception {
                        from("file:/home/av/Schreibtisch/src?noop=true&recursive=true&maxDepth=100")
                                .to("file:/home/av/Schreibtisch/target");
                    }
                });
                camelContext.start();
                Thread.sleep(durationMs);
                camelContext.stop();
    
            } catch (Exception camelException) {
                camelException.printStackTrace();
            }
        }
    
    }
    
    0 回复  |  直到 4 年前
        1
  •  2
  •   cheeseCake    4 年前

    里面有一整段 Apache Camel documentation 了解如何避免在特定条件下使用特定文件。 idempotent idempotentKey

    1. ${file:name}-${file:size} )
    2. 文件时间戳( ${file:name}-${file:modified} )
    3. 实现更复杂的条件。

    例如,使用文件的大小。可能是这样的:

    from("file:/somedir?noop=true&idempotentKey=${file:name}-${file:size}")