[[BeanIntegration-BeanIntegration]]
Bean Integration
~~~~~~~~~~~~~~~~

Camel supports the integration of beans and POJOs in a number of ways

[[BeanIntegration-Annotations]]
Annotations
^^^^^^^^^^^

If a bean is defined in link:spring.html[Spring] XML or scanned using
the Spring component scanning mechanism and a *<camelContext>* is used
or a `CamelBeanPostProcessor` then we process a number of Camel
annotations to do various things such as injecting resources or
producing, consuming or routing messages.

The following annotations is supported and inject by Camel's
`CamelBeanPostProcessor`

[width="100%",cols="10%,90%",options="header",]
|=======================================================================
|Annotation |Description

|`@EndpointInject` |To inject an endpoint, see more details at link:pojo-producing.html[POJO
Producing].

|`@BeanInject` |*Camel 2.13:* To inject a bean obtained from the
link:registry.html[Registry]. See link:bean-injection.html[Bean
Injection].

|`@PropertyInject` |*Camel 2.12:* To inject a value using
link:using-propertyplaceholder.html[property placeholder].

|`@Produce` |To inject a producer to send message to an endpoint. See
link:pojo-producing.html[POJO Producing].

|`@Consume` |To inject a consumer on a method. See link:pojo-consuming.html[POJO
Consuming].
|=======================================================================

See more details at:

* link:pojo-consuming.html[POJO Consuming] to consume and possibly route
messages from Camel
* link:pojo-producing.html[POJO Producing] to make it easy to produce
camel messages from your POJOs
* link:dynamicrouter-annotation.html[DynamicRouter Annotation] for
creating a link:dynamic-router.html[Dynamic Router] from a POJO method
* link:recipientlist-annotation.html[RecipientList Annotation] for
creating a link:recipient-list.html[Recipient List] from a POJO method
* link:routingslip-annotation.html[RoutingSlip Annotation] for creating
a link:routing-slip.html[Routing Slip] for a POJO method
* link:bean-injection.html[Bean Injection] to inject Camel related
resources into your POJOs
* link:using-exchange-pattern-annotations.html[Using Exchange Pattern
Annotations] describes how the pattern annotations can be used to change
the behaviour of method invocations with
link:spring-remoting.html[Spring Remoting] or
link:pojo-producing.html[POJO Producing]

*Example*

See the link:pojo-messaging-example.html[POJO Messaging Example] for how
to use the annotations for routing and messaging.

[[BeanIntegration-BeanComponent]]
Bean Component
^^^^^^^^^^^^^^

The link:bean.html[Bean] component allows one to invoke a particular
method. Alternately the link:bean.html[Bean] component supports the
creation of a proxy via
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/bean/ProxyHelper.html[ProxyHelper]
to a Java interface; which the implementation just sends a message
containing a
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/bean/BeanInvocation.html[BeanInvocation]
to some Camel endpoint.

[[BeanIntegration-SpringRemoting]]
Spring Remoting
^^^^^^^^^^^^^^^

We support a link:spring-remoting.html[Spring Remoting] provider which
uses Camel as the underlying transport mechanism. The nice thing about
this approach is we can use any of the Camel transport
link:components.html[Components] to communicate between beans. It also
means we can use link:content-based-router.html[Content Based Router]
and the other link:enterprise-integration-patterns.html[Enterprise
Integration Patterns] in between the beans; in particular we can use
link:message-translator.html[Message Translator] to be able to convert
what the on-the-wire messages look like in addition to adding various
headers and so forth.

*Bean binding*

Whenever Camel invokes a bean method via one of the above methods
(link:bean.html[Bean] component, link:spring-remoting.html[Spring
Remoting] or link:pojo-consuming.html[POJO Consuming]) then the
*link:bean-binding.html[Bean Binding]* mechanism is used to figure out
what method to use (if it is not explicit) and how to bind the
link:message.html[Message] to the parameters possibly using the
link:parameter-binding-annotations.html[Parameter Binding Annotations]
or using a link:bean-binding.html[method name option].
