title: Camel RX is not deleting objects consumed from S3
body: <p>If I configure Camel using a <code>RouteBuilder</code>:</p>
  
  <pre><code>context.addRoutes(new RouteBuilder() {
      @Override
      public void configure() throws Exception {
          from("aws-s3://my-bucket?accessKey=******&amp;secretKey=******")
                  .to("stream:out");
      }
  });
  </code></pre>
  
  <p>Then each object in the <code>my-bucket</code> is consumed and then immediately deleted. </p>
  
  <p>However if I use <a href="http://camel.apache.org/rx.html" rel="nofollow">Camel RX</a>:</p>
  
  <pre><code>new ReactiveCamel(context).toObservable("aws-s3://my-bucket?accessKey=*****&amp;secretKey=*****", String.class)
          .subscribe(System.out::println);
  </code></pre>
  
  <p>I find that objects are never deleted, the same objects are continually consumed.</p>
  
  <p>The <code>S3Consumer</code> appears to have an <a href="https://github.com/apache/camel/blob/master/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Consumer.java#L136-L150" rel="nofollow">'<code>OnCompletion</code>' callback</a> which will remove an object after it has been consumed. The callback is only called when using the <code>RouteBuilder</code> approach.</p>
  
  <p>I expected both approaches to work similarly but it's clear I am missing something. Is it possible to make the 'reactive approach' delete the objects once they are consumed?</p>
  
  <p><strong>EDIT:</strong> I am using Camel 2.15.2.</p>