title: Camel file component does not move on failure but keeps file locked
body: <p>I created a camel route that reads an xml an puts a message in an ActiveMQ-Queue for every element in xml. All is working fine but the error-handling does not work. Here is the route:</p>
  
  <pre><code>@Override
  public void configure() throws Exception {
      from(fileIn)
          .routeId(IN_ROUTE_ID)
          .onCompletion()
              .to(CommonRoutes.ENDPOINT_DIRECT_LOGGING)
          .end()
          .onException(UncategorizedJmsException.class)
              .maximumRedeliveries(maxRetries)
              .backOffMultiplier(multiplier)
              .redeliveryDelay(initialDelay)
          .end()
          .unmarshal(jaxbDataFormat)
          .process(fileProcessor)
          .split(body()).stopOnException().shareUnitOfWork()
          .process(domainWrapProcessor)
          .to(ACTIVE_MQ_OUT + ":queue:" + checkNotNull(queueName))
      .end()
      ;
  }
  </code></pre>
  
  <p>And here the configuration of FileEndpoint:</p>
  
  <pre><code>public void init(){
      this.setAutoCreate(false);
      this.setFile(new File(checkNotNull(csvFolder)));
      this.setCamelContext(checkNotNull(context));
      this.setAntInclude(ANT_INCLUDE);
      this.setMove(doneFolder);
      this.setMoveFailed(errorFolder);
  }
  </code></pre>
  
  <p>The intention is that on every exception the file is moved to moveFailed folder and in case of JMSException (ActiveMQ offline) camel should retry and if finally fails also move to moveFailed.</p>
  
  <p>I have created a unit tests for both cases. here is the test for any exception:</p>
  
  <pre><code>@Test
  public void testException throws InterruptedException {
      amqMmock.setExpectedMessageCount(3);
      amqMock.whenAnyExchangeReceived((e) -&gt; {
          throw new RuntimeException("");
      });
      assertMockEndpointsSatisfied();
  
      Thread.sleep(1000);
      errorContainsFile(true);
  }
  </code></pre>
  
  <p>This test is passing the file is moved into error folder set. But this is not working if i run this route in real (camel blueprint on fuse):</p>
  
  <p>The problem is that on any (not UncategorizedJmsException) exception the file just keeps locked (.camelLock file created). (thanks to stopOnException the desired behavior for JMSExceptions is working) 
  So how to get camel to move the file to moveFailed folder on any exception?</p>