We support the injection of various resources using @EndpointInject or @BeanInject. This can be used to inject
From Camel 2.13 onwards you can inject beans (obtained from the Registry) into your beans such as RouteBuilder
classes.
For example to inject a bean named foo, you can enlist the bean in the Registry such as in a Spring XML file:
<bean id="foo" class="com.foo.MyFooBean"/> |
And then in a Java RouteBuilder
class, you can inject the bean using @BeanInject
as shown below:
public class MyRouteBuilder extends RouteBuilder { @BeanInject("foo") MyFooBean foo; public void configure() throws Exception { .. } } |
If you omit the name, then Camel does a lookup by type, and injects the bean if there is exactly only one bean of that type enlisted in the Registry.
@BeanInject MyFooBean foo; |