camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (CAMEL-10394) BlueprintCamelContext cannot find components created in RouteBuilder.configure method
Date Fri, 04 Nov 2016 15:07:58 GMT

     [ https://issues.apache.org/jira/browse/CAMEL-10394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Claus Ibsen reassigned CAMEL-10394:
-----------------------------------

    Assignee: Claus Ibsen

> BlueprintCamelContext cannot find components created in RouteBuilder.configure method
> -------------------------------------------------------------------------------------
>
>                 Key: CAMEL-10394
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10394
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-blueprint
>    Affects Versions: 2.18.0
>            Reporter: Quinn Stevenson
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 2.18.1, 2.19.0
>
>
> When a simple java RouteBuilder that creates a component and adds it to the context in
the configure method is used in a blueprint, the context cannot find the component.
> Example Builder:
> public class TimerRouteBuilder extends RouteBuilder {
>     @Override
>     public void configure() throws Exception {
>         TimerComponent timerComponent = new TimerComponent();
>         getContext().addComponent("my-timer", timerComponent);
>         from( "my-timer://test-timer")
>                 .log("Timer Fired")
>                 .to("mock://result");
>     }
> }
> Example Blueprint:
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
>            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>            xsi:schemaLocation="
>                  http://www.osgi.org/xmlns/blueprint/v1.0.0 https://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">
>     <bean id="timer-route-builder" class="com.pronoia.camel.builder.TimerRouteBuilder"/>
>     <camelContext id="blueprint-context" xmlns="http://camel.apache.org/schema/blueprint">
>         <routeBuilder ref="timer-route-builder"/>
>     </camelContext>
> </blueprint>
> This test fails:
> public class BlueprintTest extends CamelBlueprintTestSupport {
>     @EndpointInject(uri = "mock://result")
>     MockEndpoint result;
>     @Override
>     protected String getBlueprintDescriptor() {
>         return "/OSGI-INF/blueprint/blueprint.xml";
>     }
>     @Test
>     public void testRoute() throws Exception {
>         result.expectedMessageCount(5);
>         assertMockEndpointsSatisfied(10, TimeUnit.SECONDS);
>     }
> }
> But this test passes
> public class CamelTest extends CamelTestSupport {
>     @EndpointInject(uri = "mock://result")
>     MockEndpoint result;
>     @Override
>     protected RoutesBuilder createRouteBuilder() throws Exception {
>         return new TimerRouteBuilder();
>     }
>     @Test
>     public void testRoute() throws Exception {
>         result.expectedMessageCount(5);
>         assertMockEndpointsSatisfied(10, TimeUnit.SECONDS);
>     }
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message