You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Charles Moulliard <cm...@gmail.com> on 2011/10/17 12:05:09 UTC

Issue with Camel Blueprint and EndpointInject

Hi,

Camel Blueprint does not like @EndpointInjection mechanism.

The following syntax with Camel 2.8 generates the error

public class NmrConsumerRoute extends RouteBuilder{

 @EndpointInject(ref="nmrConsumer")
 private Endpoint demo1ConsumerUri ;

 @Override
 public void configure() throws Exception {
   from("nmr:demo1").log("${in.body}");
 }

}

<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:camel="http://camel.apache.org/schema/blueprint"
       xsi:schemaLocation="
       http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
       http://camel.apache.org/schema/blueprint
http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">

  <camelContext xmlns="http://camel.apache.org/schema/blueprint">
     <endpoint id="nmrConsumer" uri="nmr:demo1"/>
  </camelContext>

</blueprint>


Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
create route route8: Route[[From[no uri or ref supplied!]] ->
[Log[${in.body}]]] because of Either 'uri' or 'ref' must be specified
on: org.apache.camel.impl.DefaultRouteContext@2dac2cb7
	at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:170)
	at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:698)
	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1660)
	at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1447)
	at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1339)
	at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:67)
	at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:54)
	at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1317)
	at org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:88)
	at org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:80)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_26]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_26]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_26]
	at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_26]
	at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226)[10:org.apache.aries.blueprint:0.3.1]
	at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:824)[10:org.apache.aries.blueprint:0.3.1]
	at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:636)[10:org.apache.aries.blueprint:0.3.1]
	... 24 more

Regards,

Charles Moulliard

Apache Committer

Blog : http://cmoulliard.blogspot.com
Twitter : http://twitter.com/cmoulliard
Linkedin : http://www.linkedin.com/in/charlesmoulliard
Skype: cmoulliard

Re: Issue with Camel Blueprint and EndpointInject

Posted by Charles Moulliard <cm...@gmail.com>.
Done --> https://issues.apache.org/jira/browse/CAMEL-4552



On Mon, Oct 17, 2011 at 12:48 PM, Claus Ibsen <cl...@gmail.com> wrote:
> Hi Charles
>
> Can you create a JIRA ticket? There may be issues with @Produce and
> @Consume as well.
>
> You would need to add support for that in the camel-blueprint component.
> Like we do in camel-spring to support them by looking up in the Spring
> ApplicationContext.
>
>
> On Mon, Oct 17, 2011 at 12:05 PM, Charles Moulliard
> <cm...@gmail.com> wrote:
>> Hi,
>>
>> Camel Blueprint does not like @EndpointInjection mechanism.
>>
>> The following syntax with Camel 2.8 generates the error
>>
>> public class NmrConsumerRoute extends RouteBuilder{
>>
>>  @EndpointInject(ref="nmrConsumer")
>>  private Endpoint demo1ConsumerUri ;
>>
>>  @Override
>>  public void configure() throws Exception {
>>   from("nmr:demo1").log("${in.body}");
>>  }
>>
>> }
>>
>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>       xmlns:camel="http://camel.apache.org/schema/blueprint"
>>       xsi:schemaLocation="
>>       http://www.osgi.org/xmlns/blueprint/v1.0.0
>> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>>       http://camel.apache.org/schema/blueprint
>> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
>>
>>  <camelContext xmlns="http://camel.apache.org/schema/blueprint">
>>     <endpoint id="nmrConsumer" uri="nmr:demo1"/>
>>  </camelContext>
>>
>> </blueprint>
>>
>>
>> Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
>> create route route8: Route[[From[no uri or ref supplied!]] ->
>> [Log[${in.body}]]] because of Either 'uri' or 'ref' must be specified
>> on: org.apache.camel.impl.DefaultRouteContext@2dac2cb7
>>        at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:170)
>>        at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:698)
>>        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1660)
>>        at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1447)
>>        at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1339)
>>        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:67)
>>        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:54)
>>        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1317)
>>        at org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:88)
>>        at org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:80)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_26]
>>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_26]
>>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_26]
>>        at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_26]
>>        at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226)[10:org.apache.aries.blueprint:0.3.1]
>>        at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:824)[10:org.apache.aries.blueprint:0.3.1]
>>        at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:636)[10:org.apache.aries.blueprint:0.3.1]
>>        ... 24 more
>>
>> Regards,
>>
>> Charles Moulliard
>>
>> Apache Committer
>>
>> Blog : http://cmoulliard.blogspot.com
>> Twitter : http://twitter.com/cmoulliard
>> Linkedin : http://www.linkedin.com/in/charlesmoulliard
>> Skype: cmoulliard
>>
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: cibsen@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>

Re: Issue with Camel Blueprint and EndpointInject

Posted by Claus Ibsen <cl...@gmail.com>.
Hi Charles

Can you create a JIRA ticket? There may be issues with @Produce and
@Consume as well.

You would need to add support for that in the camel-blueprint component.
Like we do in camel-spring to support them by looking up in the Spring
ApplicationContext.


On Mon, Oct 17, 2011 at 12:05 PM, Charles Moulliard
<cm...@gmail.com> wrote:
> Hi,
>
> Camel Blueprint does not like @EndpointInjection mechanism.
>
> The following syntax with Camel 2.8 generates the error
>
> public class NmrConsumerRoute extends RouteBuilder{
>
>  @EndpointInject(ref="nmrConsumer")
>  private Endpoint demo1ConsumerUri ;
>
>  @Override
>  public void configure() throws Exception {
>   from("nmr:demo1").log("${in.body}");
>  }
>
> }
>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>       xmlns:camel="http://camel.apache.org/schema/blueprint"
>       xsi:schemaLocation="
>       http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>       http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
>
>  <camelContext xmlns="http://camel.apache.org/schema/blueprint">
>     <endpoint id="nmrConsumer" uri="nmr:demo1"/>
>  </camelContext>
>
> </blueprint>
>
>
> Caused by: org.apache.camel.FailedToCreateRouteException: Failed to
> create route route8: Route[[From[no uri or ref supplied!]] ->
> [Log[${in.body}]]] because of Either 'uri' or 'ref' must be specified
> on: org.apache.camel.impl.DefaultRouteContext@2dac2cb7
>        at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:170)
>        at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:698)
>        at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1660)
>        at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1447)
>        at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1339)
>        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:67)
>        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:54)
>        at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1317)
>        at org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:88)
>        at org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:80)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_26]
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_26]
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_26]
>        at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_26]
>        at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226)[10:org.apache.aries.blueprint:0.3.1]
>        at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:824)[10:org.apache.aries.blueprint:0.3.1]
>        at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:636)[10:org.apache.aries.blueprint:0.3.1]
>        ... 24 more
>
> Regards,
>
> Charles Moulliard
>
> Apache Committer
>
> Blog : http://cmoulliard.blogspot.com
> Twitter : http://twitter.com/cmoulliard
> Linkedin : http://www.linkedin.com/in/charlesmoulliard
> Skype: cmoulliard
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/