title: Apache camel: Stop exchange from proceeding to delete=true
body: <p>I want to only allow non-duplicate files to be deleted from the source directory. I have a route with idempotent consumer like this:</p>
  
  <pre><code>File repo = new File("repo.txt");
  IdempotentRepository fr = FileIdempotentRepository.fileIdempotentRepository(repo);
  
  from("sftp:someServer:somePort/someDir?delete=true")
      .idempotentConsumer(header("CamelFileName"),fr)
      .to("file:output");
  </code></pre>
  
  <p>In this case, delete=true will cause a route to delete duplicate messages as well from the source directory.To prevent this, I've tried the following code:</p>
  
  <pre><code>File repo = new File("repo.txt");
  IdempotentRepository fr = FileIdempotentRepository.fileIdempotentRepository(repo);
  
  from("sftp:someServer:somePort/someDir?delete=true")
      .idempotentConsumer(header("CamelFileName"),fr)
      .skipDuplicate(false)
      .filter(exchangeProperty(Exchange.DUPLICATE_MESSAGE).isEqualTo(true))
          .process(new Processor() {
              @Override
              public void process(Exchange exchange) throws Exception {
                  exchange.setException(new InterruptedException("Cancel Exchange"));
                  exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE);
              }
           })
      .end()
  .to("file:output");
  </code></pre>
  
  <p>Since deleting from sftp inside the route will require another jsch instance, I'd prefer to be able to use the sftp consumer's delete property</p>