anchor.diff:  
   The routing DSL then looks like this
   
  -[source,syntaxhighlighter-pre]
  +[source,java]
   ----
   from("activemq:someQueue").
     to("bean:myBean");
   ----
   
   Here *myBean* would be looked up in the xref:registry.adoc[Registry]
  -(such as JNDI or the Spring ApplicationContext), then the body of the
  -message would be used to try figure out what method to call.
  -
  -If you want to be explicit you can use
  -
  -[source,syntaxhighlighter-pre]
  +then the body of the message would be used to try figure out what method to call.
  +
  +If you want to be explicit you can use:
  +
  +[source,java]
   ----
   from("activemq:someQueue").
     to("bean:myBean?methodName=doSomething");
  
positive.code: xref:type-converter.adoc[Type Converter] mechanism to convert from the
  expression value to the actual type of the parameter.
  
  The core annotations are as follows
  
  [width="100%",cols="34%,33%,33%",options="header",]
  |=======================================================================
  |Annotation |Meaning |Parameter
  |`org.apache.camel.Body`
  |To bind to an inbound message body | 
  
  |`org.apache.camel.ExchangeException`
  |To bind to an Exception set on the exchange | 
  
  |`org.apache.camel.Header`
  |To bind to an inbound message header |String name of the header
  
  |`org.apache.camel.Headers`
  |To bind to the Map of the inbound message headers | 
  
  |`org.apache.camel.OutHeaders`
  |To bind to the Map of the outbound message headers | 
  
  |`org.apache.camel.Property`
  |To bind to a named property on the exchange |String name of the
  property
  
  |`org.apache.camel.Properties`
  |To bind to the property map on the exchange | 
  
  |`org.apache.camel.Handler`
  |Not part as a type parameter but stated in this table anyway to spread
  the good word that we have this annotation in Camel now. See more at
  xref:bean-binding.adoc[Bean Binding]. | 
  |=======================================================================
  
  The follow annotations `@Headers`, `@OutHeaders` and `@Properties` binds
  to the backing `java.util.Map` so you can alter the content of these
  maps directly, for instance using the `put` method to add a new entry.
  See the OrderService class at xref:exception-clause.adoc[Exception
  Clause] for such an example. You can use `@Header("myHeader")` and
  `@Property("myProperty")` to access the backing `java.util.Map`.
  
  [[ParameterBindingAnnotations-Example]]
  == Example
  
  In this example below we have a @Consume consumer (like message driven)
  that consumes JMS messages from the activemq queue. We use the @Header
  and @Body parameter binding annotations to bind from the JMSMessage to
  the method parameters.
  
  [source,syntaxhighlighter-pre]
  ----
  public class Foo {
      
      @Consume(uri = "activemq:my.queue")
      public void doSomething(@Header("JMSCorrelationID") String correlationID, @Body String body) {
          // process the inbound message here
      }
  
negative.code: ----
  
  The xref:components::bean-component.adoc[POJO] MyIdGenerator has one public method that
  accepts two parameters. We have also annotated this one with the
  `@Header` and `@Body` annotations to help Camel know what to bind here from
  the Exchange being processed.
  
  Of course this could be simplified a lot if you for instance just have a
  simple id generator. But we wanted to demonstrate that you can use the
  xref:bean-binding.adoc[Bean Binding] annotations anywhere.
  
  [source,java]
  ----
  public class MySimpleIdGenerator {
  
  