title: Camel Route to Upload to S3 fails
body: <p>Im trying to construct a basic route that detects a .csv file and uploads it to my S3 bucket. </p>
  
  <p>The csv file gets gedected and the route works except of the .to("aws-s3...") part. </p>
  
  <p>I've tried the solution from <a href="https://stackoverflow.com/questions/32335425/how-to-upload-file-to-aws-s3-using-camel-aws-s3-producer">this question</a> but it fails.</p>
  
  <p><strong>My Route:</strong></p>
  
  <pre><code>public class CsvToS3Route extends RouteBuilder {
  @Override
  public void configure() throws Exception {
      from("file:./src/main/resources/mycsvfilesfolder?filterFile=${file:name.ext.single} =~ 'csv'")
              .convertBodyTo(byte[].class)
              .setHeader(S3Constants.CONTENT_LENGTH, simple("${in.header.CamelFileLength}"))
              .setHeader(S3Constants.KEY,simple("${in.header.CamelFileNameOnly}"))
              .to("aws-s3://my-bucket?deleteAfterWrite=false&amp;region=eu-west-1&amp;accessKey=mypublickey&amp;secretKey=RAW(mysecretkey)")
              .log("done.");
  }}
  </code></pre>
  
  <p><strong>My Main Class:</strong></p>
  
  <pre><code>@Component
    public class CamelRoutes {
    Logger logger = LoggerFactory.getLogger(CamelRoutes.class);
    private Main main;
    private CamelContext context;
  
    @Bean
    public void run() throws Exception {
        this.main = new Main();
        this.context = new DefaultCamelContext(registry);
        context.addRoutes(new CsvToS3Route());
  
        main.getCamelContexts().clear();
        main.getCamelContexts().add(context);
  
        // Run Camel forever
        logger.info("Starting Camel Application");
        main.setDuration(-1);
        main.run();
    }}
  </code></pre>
  
  <p><strong>The Error</strong></p>
  
  <pre><code>***************************
  APPLICATION FAILED TO START
  ***************************
  
  Description:
  
  An attempt was made to call a method that does not exist. The attempt was made from the following location:
  
      org.apache.camel.support.DefaultComponent.doStart(DefaultComponent.java:245)
  
  The following method did not exist:
  
      org.apache.camel.CamelContext.getPropertiesComponent(Z)Lorg/apache/camel/spi/PropertiesComponent;
  
  The method's class, org.apache.camel.CamelContext, is available from the following locations:
  
      jar:file:/Users/myuser/.gradle/caches/modules-2/files-2.1/org.apache.camel/camel-core/2.23.2.fuse-750029-redhat-00001/93a0f16a539d46373c121d4b10cd9fc844c8779a/camel-core-2.23.2.fuse-750029-redhat-00001.jar!/org/apache/camel/CamelContext.class
      jar:file:/Users/myuser/.gradle/caches/modules-2/files-2.1/org.apache.camel/camel-api/3.0.0-M2/7724c277b1f57116083c555ccb3bfd63a4e74ea0/camel-api-3.0.0-M2.jar!/org/apache/camel/CamelContext.class
  
  It was loaded from the following location:
  
      file:/Users/myuser/.gradle/caches/modules-2/files-2.1/org.apache.camel/camel-core/2.23.2.fuse-750029-redhat-00001/93a0f16a539d46373c121d4b10cd9fc844c8779a/camel-core-2.23.2.fuse-750029-redhat-00001.jar
  
  
  Action:
  
  Correct the classpath of your application so that it contains a single, compatible version of org.apache.camel.CamelContext
  
  2020-02-13 12:53:28.898  INFO 31954 --- [ngupInterceptor] o.a.c.m.MainSupport$HangupInterceptor    : Received hang up - stopping the main instance.
  2020-02-13 12:53:28.899  INFO 31954 --- [ngupInterceptor] o.apache.camel.impl.DefaultCamelContext  : Apache Camel 2.23.2.fuse-750029-redhat-00001 (CamelContext: camel-1) is shutting down
  2020-02-13 12:53:28.911  INFO 31954 --- [ngupInterceptor] o.apache.camel.impl.DefaultCamelContext  : Apache Camel 2.23.2.fuse-750029-redhat-00001 (CamelContext: camel-1) uptime 0.213 seconds
  2020-02-13 12:53:28.911  INFO 31954 --- [ngupInterceptor] o.apache.camel.impl.DefaultCamelContext  : Apache Camel 2.23.2.fuse-750029-redhat-00001 (CamelContext: camel-1) is shutdown in 0.012 seconds
  
  Process finished with exit code 1
  </code></pre>
  
  <p>Is there something I am missing? </p>