title: Camel difference between route properties and exchange properties
body: <p>Can someone explain me the differences between the two properties?</p>
  
  <pre><code>@Override
  public void setUp() throws Exception {
      context = new DefaultCamelContext(new SimpleRegistry());        
      template = context.createProducerTemplate();
  
      context.addRoutes(new RouteBuilder() {
  
          public void configure() throws Exception {              
              PropertiesComponent prop = context.getComponent(
                                        "properties", PropertiesComponent.class);
              prop.setLocation("classpath:test.properties");
  
              from("direct:start")
              .log("Property: ${properties:a}")
              .process(new Processor() {
  
                  @Override
                  public void process(Exchange ex) throws Exception {
                      String a = ex.getProperty("a", String.class);
                      LOG.info("Property: " + a);
                  }
              })
              ;
          }
      });
  
      context.getShutdownStrategy().setTimeout(1);
      context.start();
  }
  
  @Test
  public void testRoute() throws Exception {
      template.sendBody("direct:start", null);
  }
  </code></pre>
  
  <p>The properties-file (<code>test.properties</code>):</p>
  
  <pre><code>a = a
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>2015-09-03 14:38:01,740 | INFO  | route1           | Property: a
  2015-09-03 14:38:01,743 | INFO  | CamelTest2       | Property: null
  </code></pre>
  
  <p>The first line is from <code>.log("${properties:a}")</code>, so it can be found. However, <code>String a = ex.getProperty("a", String.class);</code> cannot. Both are properties and point to the same property, right?<br/><br/>
  What is the difference, and how can I find the property in the processor?</p>