# Element Summary

Element | Description | Class
--- | --- | ---
component | Bean Component | org.apache.servicemix.bean.BeanComponent
defaultMethodInvocationStrategy | The default strategy for invoking methods on POJOs from a JBI message exchange | org.apache.servicemix.bean.support.DefaultMethodInvocationStrategy
endpoint | Represents a bean endpoint which consists of a together with a {@link MethodInvocationStrategy} so that JBI message exchanges can be invoked on the bean. | org.apache.servicemix.bean.BeanEndpoint
exchange-target | An ExchangeTarget may be used to specify the target of an exchange, while retaining all the JBI features (interface based routing, service name based routing or endpoint routing). | org.apache.servicemix.bean.support.ExchangeTarget

# Element Detail

## Element: component

Element | Type | Description
--- | --- | ---
applicationContext | <spring:bean/> |
endpoints | (endpoint)* |
executorFactory | <spring:bean/> | The executor factory to use to create the executor. If none is provided, one will be retrieved from the JBI container when the component is deployed into ServiceMix 3.x, or a default implementation will be used.
searchPackages | (<spring:bean/>)* |

## Element: defaultMethodInvocationStrategy

## Element: endpoint

Attribute | Type | Description
--- | --- | ---
beanClassName | xs:string | Set the bean class name to be used for handling exchanges. A new instance will be created on the fly for every exchange.
beanName | xs:string | Set the name of the bean in the application context to be used for handling exchanges
beanType | xs:string | Set the bean class to be used for handling exchanges. A new instance will be created on the fly for every exchange.
correlationExpression | xs:string | Set a custom expression to use for correlating exchanges into a single request handled by the same bean instance. The default expression uses a correlation ID set on the exchange properties.
endpoint | xs:string | Get the endpoint implementation.
interfaceName | xs:QName | Get the qualified name of the endpoint interface.
service | xs:QName | Get the service qualified name of the endpoint.

Element | Type | Description
--- | --- | ---
applicationContext | <spring:bean/> | Set the Spring ApplicationContext where the bean can be found. Defaults to the context defined in xbean.xml
bean | <spring:bean/> | Set the bean to be used for handling exchanges
beanInfo | <spring:bean/> | Set a custom bean info object to define the bean to be used for handling exchanges
component | component |
methodInvocationStrategy | defaultMethodInvocationStrategy | Set a custom invocation strategy to define how the bean is being invoked. The default implementation takes some additional parameter annotations into account.
serviceEndpoint | <spring:bean/> |

## Element: exchange-target

Attribute | Type | Description
--- | --- | ---
endpoint | xs:string |
interface | xs:QName |
operation | xs:QName |
service | xs:QName |
uri | xs:string |