By default you can inject annotation on single method of an interface like: public interface MyListener { @EndpointInject(uri="activemq:foo.bar") String sayHello(String name); } what if you need multiple methods like this with @EndpointInjection happening over them for each endpoint e.g.: public interface MyListener { @EndpointInject(uri="direct:foo") String sayHelloFoo(String name); @EndpointInject(uri="direct:bar") String sayHelloBar(String name); } The simple solution i have working involved spring's FactoryBean implementation. It need following steps: <!-- Define route for which you need injection to happen --> <bean id="r" class="MyListener" /> <!-- Define producer template having that route --> <camelContext xmlns="http://camel.apache.org/schema/spring"> <template id="producerTemplate" /> <routeBuil
My Opinion.