anchor.diff:  How bean methods to be invoked are chosen (if they are not specified
   explicitly through the *method* parameter) and how parameter values are
   constructed from the Message are all defined by the
  -Bean Binding mechanism which is used throughout
  -all of the various Bean Integration
  -mechanisms in Camel.
  +xref:manual::bean-binding.adoc[Bean Binding] mechanism which is used throughout
  +all the various xref:manual::bean-integration.adoc[Bean Integration] mechanisms in Camel.
  +
  +See also related xref:bean-language.adoc[Bean Language].
  +
   
   
   
  
positive.code: include::partial$component-endpoint-headers.adoc[]
  // component headers: END
  
  == Using
  
  The object instance that is used to consume messages must be explicitly
  registered with the Registry. For example, if you
  are using Spring you must define the bean in the Spring configuration XML file.
  
  You can also register beans manually via Camel's `Registry` with the `bind` method.
  
  Once an endpoint has been registered, you can build Camel routes that
  use it to process exchanges.
  
  A *bean:* endpoint cannot be defined as the input to the route; i.e. you
  cannot consume from it, you can only route from some inbound message
  Endpoint to the bean endpoint as output. So consider
  using a *direct:* or *queue:* endpoint as the input.
  
  You can use the `createProxy()` methods on
  https://www.javadoc.io/doc/org.apache.camel/camel-bean/current/org/apache/camel/component/bean/ProxyHelper.html[ProxyHelper]
  to create a proxy that will generate exchanges and send them to any
  endpoint:
  
  And the same route using XML DSL:
  
  [source,xml]
  ----------------------------
  <route>
     <from uri="direct:hello"/>
     <to uri="bean:bye"/>
  </route>
  ----------------------------
  
  == Bean as endpoint
  
  Camel also supports invoking xref:bean-component.adoc[Bean] as an Endpoint. In the
  route below:
  
  What happens is that when the exchange is routed to the `myBean` Camel
  will use the Bean Binding to invoke the bean. +
   The source for the bean is just a plain POJO:
  
  Camel will use Bean Binding to invoke the
  `sayHello` method, by converting the Exchange's In body to the `String`
  type and storing the output of the method on the Exchange Out body.
  
  == Java DSL bean syntax
  
  Java DSL comes with syntactic sugar for the xref:bean-component.adoc[Bean]
  component. Instead of specifying the bean explicitly as the endpoint
  
negative.code: -------------------------------------------------------
  
  Instead of passing name of the reference to the bean (so that Camel will
  lookup for it in the xref:manual::registry.adoc[Registry]), you can specify the bean itself:
  
  [source,java]
  ---------------------------------------------------------------
  