weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Matt Raible
Hey all,

I have the following route defined with the Java DSL:

from("direct:localMemberLookup").routeId("localMemberLookup")
        .process(new MemberLookupToSqlParametersProcessor()).id("sqlParams")
        .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
        .to("log:output")
        .process(new MemberLookupProcessor())
        // do more processing
        .to("log:output");

I'm testing it with a test that looks as follows:

@EndpointInject(uri = "mock:lookupHeaders")
MockEndpoint lookupHeaders;

@EndpointInject(uri = "mock:searchResult")
MockEndpoint searchResult;

@EndpointInject(uri = "mock:lookupResult")
MockEndpoint lookupResult;

@Autowired
CamelContext camelContext;

@Before
public void before() throws Exception {
        ModelCamelContext context = (ModelCamelContext) camelContext;
        context.setTracing(true);
        RouteDefinition searchRoute = context.getRouteDefinition("memberSearchRequest");
        searchRoute.to(searchResult);

        RouteDefinition lookupRoute = context.getRouteDefinition("localMemberLookup");
        lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
                @Override
                public void configure() throws Exception {
                        weaveById("sqlParams").after().to(lookupHeaders);
                }
        });
        lookupRoute.to(lookupResult);
        context.start();
}

With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get the following error:

java.lang.IllegalArgumentException: There are no outputs which matches: sqlParams in the route

Any ideas?

Thanks,

Matt
Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Claus Ibsen-2
Hi

Can you try with 2.13.2 also?

There was a fix in this to fix an issue when using Content Based
Router and weaveById. I bet it may has cause a regression for your
use-case.

On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]> wrote:

> Hey all,
>
> I have the following route defined with the Java DSL:
>
> from("direct:localMemberLookup").routeId("localMemberLookup")
>         .process(new MemberLookupToSqlParametersProcessor()).id("sqlParams")
>         .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
>         .to("log:output")
>         .process(new MemberLookupProcessor())
>         // do more processing
>         .to("log:output");
>
> I'm testing it with a test that looks as follows:
>
> @EndpointInject(uri = "mock:lookupHeaders")
> MockEndpoint lookupHeaders;
>
> @EndpointInject(uri = "mock:searchResult")
> MockEndpoint searchResult;
>
> @EndpointInject(uri = "mock:lookupResult")
> MockEndpoint lookupResult;
>
> @Autowired
> CamelContext camelContext;
>
> @Before
> public void before() throws Exception {
>         ModelCamelContext context = (ModelCamelContext) camelContext;
>         context.setTracing(true);
>         RouteDefinition searchRoute = context.getRouteDefinition("memberSearchRequest");
>         searchRoute.to(searchResult);
>
>         RouteDefinition lookupRoute = context.getRouteDefinition("localMemberLookup");
>         lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
>                 @Override
>                 public void configure() throws Exception {
>                         weaveById("sqlParams").after().to(lookupHeaders);
>                 }
>         });
>         lookupRoute.to(lookupResult);
>         context.start();
> }
>
> With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get the following error:
>
> java.lang.IllegalArgumentException: There are no outputs which matches: sqlParams in the route
>
> Any ideas?
>
> Thanks,
>
> Matt



--
Claus Ibsen
-----------------
Red Hat, Inc.
Email: [hidden email]
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/
Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Matt Raible
It tried it with 2.13.2 and it works just fine.


On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]> wrote:

> Hi
>
> Can you try with 2.13.2 also?
>
> There was a fix in this to fix an issue when using Content Based
> Router and weaveById. I bet it may has cause a regression for your
> use-case.
>
> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
> wrote:
> > Hey all,
> >
> > I have the following route defined with the Java DSL:
> >
> > from("direct:localMemberLookup").routeId("localMemberLookup")
> >         .process(new
> MemberLookupToSqlParametersProcessor()).id("sqlParams")
> >
> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
> >         .to("log:output")
> >         .process(new MemberLookupProcessor())
> >         // do more processing
> >         .to("log:output");
> >
> > I'm testing it with a test that looks as follows:
> >
> > @EndpointInject(uri = "mock:lookupHeaders")
> > MockEndpoint lookupHeaders;
> >
> > @EndpointInject(uri = "mock:searchResult")
> > MockEndpoint searchResult;
> >
> > @EndpointInject(uri = "mock:lookupResult")
> > MockEndpoint lookupResult;
> >
> > @Autowired
> > CamelContext camelContext;
> >
> > @Before
> > public void before() throws Exception {
> >         ModelCamelContext context = (ModelCamelContext) camelContext;
> >         context.setTracing(true);
> >         RouteDefinition searchRoute =
> context.getRouteDefinition("memberSearchRequest");
> >         searchRoute.to(searchResult);
> >
> >         RouteDefinition lookupRoute =
> context.getRouteDefinition("localMemberLookup");
> >         lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
> >                 @Override
> >                 public void configure() throws Exception {
> >                         weaveById("sqlParams").after().to(lookupHeaders);
> >                 }
> >         });
> >         lookupRoute.to(lookupResult);
> >         context.start();
> > }
> >
> > With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
> the following error:
> >
> > java.lang.IllegalArgumentException: There are no outputs which matches:
> sqlParams in the route
> >
> > Any ideas?
> >
> > Thanks,
> >
> > Matt
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: [hidden email]
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
> hawtio: http://hawt.io/
> fabric8: http://fabric8.io/
>
Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Claus Ibsen-2
On Tue, Jul 15, 2014 at 3:56 PM, Matt Raible <[hidden email]> wrote:
> It tried it with 2.13.2 and it works just fine.
>

Thanks.

If its possible for you then you are welcome to .zip an unit test /
sample project that has this issue and create a JIRA ticket and attach
it, or some github repo or something else.

I tired to reproduce from your mail this morning but the route worked for me.

>
> On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]> wrote:
>
>> Hi
>>
>> Can you try with 2.13.2 also?
>>
>> There was a fix in this to fix an issue when using Content Based
>> Router and weaveById. I bet it may has cause a regression for your
>> use-case.
>>
>> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
>> wrote:
>> > Hey all,
>> >
>> > I have the following route defined with the Java DSL:
>> >
>> > from("direct:localMemberLookup").routeId("localMemberLookup")
>> >         .process(new
>> MemberLookupToSqlParametersProcessor()).id("sqlParams")
>> >
>> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
>> >         .to("log:output")
>> >         .process(new MemberLookupProcessor())
>> >         // do more processing
>> >         .to("log:output");
>> >
>> > I'm testing it with a test that looks as follows:
>> >
>> > @EndpointInject(uri = "mock:lookupHeaders")
>> > MockEndpoint lookupHeaders;
>> >
>> > @EndpointInject(uri = "mock:searchResult")
>> > MockEndpoint searchResult;
>> >
>> > @EndpointInject(uri = "mock:lookupResult")
>> > MockEndpoint lookupResult;
>> >
>> > @Autowired
>> > CamelContext camelContext;
>> >
>> > @Before
>> > public void before() throws Exception {
>> >         ModelCamelContext context = (ModelCamelContext) camelContext;
>> >         context.setTracing(true);
>> >         RouteDefinition searchRoute =
>> context.getRouteDefinition("memberSearchRequest");
>> >         searchRoute.to(searchResult);
>> >
>> >         RouteDefinition lookupRoute =
>> context.getRouteDefinition("localMemberLookup");
>> >         lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
>> >                 @Override
>> >                 public void configure() throws Exception {
>> >                         weaveById("sqlParams").after().to(lookupHeaders);
>> >                 }
>> >         });
>> >         lookupRoute.to(lookupResult);
>> >         context.start();
>> > }
>> >
>> > With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
>> the following error:
>> >
>> > java.lang.IllegalArgumentException: There are no outputs which matches:
>> sqlParams in the route
>> >
>> > Any ideas?
>> >
>> > Thanks,
>> >
>> > Matt
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> Red Hat, Inc.
>> Email: [hidden email]
>> Twitter: davsclaus
>> Blog: http://davsclaus.com
>> Author of Camel in Action: http://www.manning.com/ibsen
>> hawtio: http://hawt.io/
>> fabric8: http://fabric8.io/
>>



--
Claus Ibsen
-----------------
Red Hat, Inc.
Email: [hidden email]
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/
Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Matt Raible
If I revert the following change to AdviceWithTasks.java, it seems to solve this issue:

https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9

I cloned master, reverted this change, then installed everything to test.

On Jul 15, 2014, at 7:59 AM, Claus Ibsen <[hidden email]> wrote:

> On Tue, Jul 15, 2014 at 3:56 PM, Matt Raible <[hidden email]> wrote:
>> It tried it with 2.13.2 and it works just fine.
>>
>
> Thanks.
>
> If its possible for you then you are welcome to .zip an unit test /
> sample project that has this issue and create a JIRA ticket and attach
> it, or some github repo or something else.
>
> I tired to reproduce from your mail this morning but the route worked for me.
>
>>
>> On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]> wrote:
>>
>>> Hi
>>>
>>> Can you try with 2.13.2 also?
>>>
>>> There was a fix in this to fix an issue when using Content Based
>>> Router and weaveById. I bet it may has cause a regression for your
>>> use-case.
>>>
>>> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
>>> wrote:
>>>> Hey all,
>>>>
>>>> I have the following route defined with the Java DSL:
>>>>
>>>> from("direct:localMemberLookup").routeId("localMemberLookup")
>>>>        .process(new
>>> MemberLookupToSqlParametersProcessor()).id("sqlParams")
>>>>
>>> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
>>>>        .to("log:output")
>>>>        .process(new MemberLookupProcessor())
>>>>        // do more processing
>>>>        .to("log:output");
>>>>
>>>> I'm testing it with a test that looks as follows:
>>>>
>>>> @EndpointInject(uri = "mock:lookupHeaders")
>>>> MockEndpoint lookupHeaders;
>>>>
>>>> @EndpointInject(uri = "mock:searchResult")
>>>> MockEndpoint searchResult;
>>>>
>>>> @EndpointInject(uri = "mock:lookupResult")
>>>> MockEndpoint lookupResult;
>>>>
>>>> @Autowired
>>>> CamelContext camelContext;
>>>>
>>>> @Before
>>>> public void before() throws Exception {
>>>>        ModelCamelContext context = (ModelCamelContext) camelContext;
>>>>        context.setTracing(true);
>>>>        RouteDefinition searchRoute =
>>> context.getRouteDefinition("memberSearchRequest");
>>>>        searchRoute.to(searchResult);
>>>>
>>>>        RouteDefinition lookupRoute =
>>> context.getRouteDefinition("localMemberLookup");
>>>>        lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
>>>>                @Override
>>>>                public void configure() throws Exception {
>>>>                        weaveById("sqlParams").after().to(lookupHeaders);
>>>>                }
>>>>        });
>>>>        lookupRoute.to(lookupResult);
>>>>        context.start();
>>>> }
>>>>
>>>> With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
>>> the following error:
>>>>
>>>> java.lang.IllegalArgumentException: There are no outputs which matches:
>>> sqlParams in the route
>>>>
>>>> Any ideas?
>>>>
>>>> Thanks,
>>>>
>>>> Matt
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> Red Hat, Inc.
>>> Email: [hidden email]
>>> Twitter: davsclaus
>>> Blog: http://davsclaus.com
>>> Author of Camel in Action: http://www.manning.com/ibsen
>>> hawtio: http://hawt.io/
>>> fabric8: http://fabric8.io/
>>>
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: [hidden email]
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
> hawtio: http://hawt.io/
> fabric8: http://fabric8.io/

Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Matt Raible
FWIW, all tests pass in camel-core with this change reverted.

[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 20:57 min
[INFO] Finished at: 2014-07-15T12:18:03-07:00
[INFO] Final Memory: 25M/376M


On Tue, Jul 15, 2014 at 11:01 AM, Matt Raible <[hidden email]>
wrote:

> If I revert the following change to AdviceWithTasks.java, it seems to
> solve this issue:
>
>
> https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9
>
> I cloned master, reverted this change, then installed everything to test.
>
> On Jul 15, 2014, at 7:59 AM, Claus Ibsen <[hidden email]> wrote:
>
> > On Tue, Jul 15, 2014 at 3:56 PM, Matt Raible <[hidden email]>
> wrote:
> >> It tried it with 2.13.2 and it works just fine.
> >>
> >
> > Thanks.
> >
> > If its possible for you then you are welcome to .zip an unit test /
> > sample project that has this issue and create a JIRA ticket and attach
> > it, or some github repo or something else.
> >
> > I tired to reproduce from your mail this morning but the route worked
> for me.
> >
> >>
> >> On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]>
> wrote:
> >>
> >>> Hi
> >>>
> >>> Can you try with 2.13.2 also?
> >>>
> >>> There was a fix in this to fix an issue when using Content Based
> >>> Router and weaveById. I bet it may has cause a regression for your
> >>> use-case.
> >>>
> >>> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
> >>> wrote:
> >>>> Hey all,
> >>>>
> >>>> I have the following route defined with the Java DSL:
> >>>>
> >>>> from("direct:localMemberLookup").routeId("localMemberLookup")
> >>>>        .process(new
> >>> MemberLookupToSqlParametersProcessor()).id("sqlParams")
> >>>>
> >>> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
> >>>>        .to("log:output")
> >>>>        .process(new MemberLookupProcessor())
> >>>>        // do more processing
> >>>>        .to("log:output");
> >>>>
> >>>> I'm testing it with a test that looks as follows:
> >>>>
> >>>> @EndpointInject(uri = "mock:lookupHeaders")
> >>>> MockEndpoint lookupHeaders;
> >>>>
> >>>> @EndpointInject(uri = "mock:searchResult")
> >>>> MockEndpoint searchResult;
> >>>>
> >>>> @EndpointInject(uri = "mock:lookupResult")
> >>>> MockEndpoint lookupResult;
> >>>>
> >>>> @Autowired
> >>>> CamelContext camelContext;
> >>>>
> >>>> @Before
> >>>> public void before() throws Exception {
> >>>>        ModelCamelContext context = (ModelCamelContext) camelContext;
> >>>>        context.setTracing(true);
> >>>>        RouteDefinition searchRoute =
> >>> context.getRouteDefinition("memberSearchRequest");
> >>>>        searchRoute.to(searchResult);
> >>>>
> >>>>        RouteDefinition lookupRoute =
> >>> context.getRouteDefinition("localMemberLookup");
> >>>>        lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
> >>>>                @Override
> >>>>                public void configure() throws Exception {
> >>>>
>  weaveById("sqlParams").after().to(lookupHeaders);
> >>>>                }
> >>>>        });
> >>>>        lookupRoute.to(lookupResult);
> >>>>        context.start();
> >>>> }
> >>>>
> >>>> With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
> >>> the following error:
> >>>>
> >>>> java.lang.IllegalArgumentException: There are no outputs which
> matches:
> >>> sqlParams in the route
> >>>>
> >>>> Any ideas?
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Matt
> >>>
> >>>
> >>>
> >>> --
> >>> Claus Ibsen
> >>> -----------------
> >>> Red Hat, Inc.
> >>> Email: [hidden email]
> >>> Twitter: davsclaus
> >>> Blog: http://davsclaus.com
> >>> Author of Camel in Action: http://www.manning.com/ibsen
> >>> hawtio: http://hawt.io/
> >>> fabric8: http://fabric8.io/
> >>>
> >
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > Red Hat, Inc.
> > Email: [hidden email]
> > Twitter: davsclaus
> > Blog: http://davsclaus.com
> > Author of Camel in Action: http://www.manning.com/ibsen
> > hawtio: http://hawt.io/
> > fabric8: http://fabric8.io/
>
>
Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Claus Ibsen-2
Hi

Yeah but the tests in camel-spring would likely fail. That commit
fixes some issues when using xml dsl to define routes (spring or
blueprint)

On Tue, Jul 15, 2014 at 8:19 PM, Matt Raible <[hidden email]> wrote:

> FWIW, all tests pass in camel-core with this change reverted.
>
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 20:57 min
> [INFO] Finished at: 2014-07-15T12:18:03-07:00
> [INFO] Final Memory: 25M/376M
>
>
> On Tue, Jul 15, 2014 at 11:01 AM, Matt Raible <[hidden email]>
> wrote:
>
>> If I revert the following change to AdviceWithTasks.java, it seems to
>> solve this issue:
>>
>>
>> https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9
>>
>> I cloned master, reverted this change, then installed everything to test.
>>
>> On Jul 15, 2014, at 7:59 AM, Claus Ibsen <[hidden email]> wrote:
>>
>> > On Tue, Jul 15, 2014 at 3:56 PM, Matt Raible <[hidden email]>
>> wrote:
>> >> It tried it with 2.13.2 and it works just fine.
>> >>
>> >
>> > Thanks.
>> >
>> > If its possible for you then you are welcome to .zip an unit test /
>> > sample project that has this issue and create a JIRA ticket and attach
>> > it, or some github repo or something else.
>> >
>> > I tired to reproduce from your mail this morning but the route worked
>> for me.
>> >
>> >>
>> >> On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]>
>> wrote:
>> >>
>> >>> Hi
>> >>>
>> >>> Can you try with 2.13.2 also?
>> >>>
>> >>> There was a fix in this to fix an issue when using Content Based
>> >>> Router and weaveById. I bet it may has cause a regression for your
>> >>> use-case.
>> >>>
>> >>> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
>> >>> wrote:
>> >>>> Hey all,
>> >>>>
>> >>>> I have the following route defined with the Java DSL:
>> >>>>
>> >>>> from("direct:localMemberLookup").routeId("localMemberLookup")
>> >>>>        .process(new
>> >>> MemberLookupToSqlParametersProcessor()).id("sqlParams")
>> >>>>
>> >>> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
>> >>>>        .to("log:output")
>> >>>>        .process(new MemberLookupProcessor())
>> >>>>        // do more processing
>> >>>>        .to("log:output");
>> >>>>
>> >>>> I'm testing it with a test that looks as follows:
>> >>>>
>> >>>> @EndpointInject(uri = "mock:lookupHeaders")
>> >>>> MockEndpoint lookupHeaders;
>> >>>>
>> >>>> @EndpointInject(uri = "mock:searchResult")
>> >>>> MockEndpoint searchResult;
>> >>>>
>> >>>> @EndpointInject(uri = "mock:lookupResult")
>> >>>> MockEndpoint lookupResult;
>> >>>>
>> >>>> @Autowired
>> >>>> CamelContext camelContext;
>> >>>>
>> >>>> @Before
>> >>>> public void before() throws Exception {
>> >>>>        ModelCamelContext context = (ModelCamelContext) camelContext;
>> >>>>        context.setTracing(true);
>> >>>>        RouteDefinition searchRoute =
>> >>> context.getRouteDefinition("memberSearchRequest");
>> >>>>        searchRoute.to(searchResult);
>> >>>>
>> >>>>        RouteDefinition lookupRoute =
>> >>> context.getRouteDefinition("localMemberLookup");
>> >>>>        lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
>> >>>>                @Override
>> >>>>                public void configure() throws Exception {
>> >>>>
>>  weaveById("sqlParams").after().to(lookupHeaders);
>> >>>>                }
>> >>>>        });
>> >>>>        lookupRoute.to(lookupResult);
>> >>>>        context.start();
>> >>>> }
>> >>>>
>> >>>> With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
>> >>> the following error:
>> >>>>
>> >>>> java.lang.IllegalArgumentException: There are no outputs which
>> matches:
>> >>> sqlParams in the route
>> >>>>
>> >>>> Any ideas?
>> >>>>
>> >>>> Thanks,
>> >>>>
>> >>>> Matt
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Claus Ibsen
>> >>> -----------------
>> >>> Red Hat, Inc.
>> >>> Email: [hidden email]
>> >>> Twitter: davsclaus
>> >>> Blog: http://davsclaus.com
>> >>> Author of Camel in Action: http://www.manning.com/ibsen
>> >>> hawtio: http://hawt.io/
>> >>> fabric8: http://fabric8.io/
>> >>>
>> >
>> >
>> >
>> > --
>> > Claus Ibsen
>> > -----------------
>> > Red Hat, Inc.
>> > Email: [hidden email]
>> > Twitter: davsclaus
>> > Blog: http://davsclaus.com
>> > Author of Camel in Action: http://www.manning.com/ibsen
>> > hawtio: http://hawt.io/
>> > fabric8: http://fabric8.io/
>>
>>



--
Claus Ibsen
-----------------
Red Hat, Inc.
Email: [hidden email]
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/
Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Matt Raible
I believe you.

However, it seems it also creates an issue when using the Java DSL. At least from a testing perspective.

> On Jul 16, 2014, at 1:04, Claus Ibsen <[hidden email]> wrote:
>
> Hi
>
> Yeah but the tests in camel-spring would likely fail. That commit
> fixes some issues when using xml dsl to define routes (spring or
> blueprint)
>
>> On Tue, Jul 15, 2014 at 8:19 PM, Matt Raible <[hidden email]> wrote:
>> FWIW, all tests pass in camel-core with this change reverted.
>>
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] BUILD SUCCESS
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] Total time: 20:57 min
>> [INFO] Finished at: 2014-07-15T12:18:03-07:00
>> [INFO] Final Memory: 25M/376M
>>
>>
>> On Tue, Jul 15, 2014 at 11:01 AM, Matt Raible <[hidden email]>
>> wrote:
>>
>>> If I revert the following change to AdviceWithTasks.java, it seems to
>>> solve this issue:
>>>
>>>
>>> https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9
>>>
>>> I cloned master, reverted this change, then installed everything to test.
>>>
>>>> On Jul 15, 2014, at 7:59 AM, Claus Ibsen <[hidden email]> wrote:
>>>>
>>>> On Tue, Jul 15, 2014 at 3:56 PM, Matt Raible <[hidden email]>
>>> wrote:
>>>>> It tried it with 2.13.2 and it works just fine.
>>>>
>>>> Thanks.
>>>>
>>>> If its possible for you then you are welcome to .zip an unit test /
>>>> sample project that has this issue and create a JIRA ticket and attach
>>>> it, or some github repo or something else.
>>>>
>>>> I tired to reproduce from your mail this morning but the route worked
>>> for me.
>>>>
>>>>>
>>>>> On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]>
>>> wrote:
>>>>>
>>>>>> Hi
>>>>>>
>>>>>> Can you try with 2.13.2 also?
>>>>>>
>>>>>> There was a fix in this to fix an issue when using Content Based
>>>>>> Router and weaveById. I bet it may has cause a regression for your
>>>>>> use-case.
>>>>>>
>>>>>> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
>>>>>> wrote:
>>>>>>> Hey all,
>>>>>>>
>>>>>>> I have the following route defined with the Java DSL:
>>>>>>>
>>>>>>> from("direct:localMemberLookup").routeId("localMemberLookup")
>>>>>>>       .process(new
>>>>>> MemberLookupToSqlParametersProcessor()).id("sqlParams")
>>>>>> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
>>>>>>>       .to("log:output")
>>>>>>>       .process(new MemberLookupProcessor())
>>>>>>>       // do more processing
>>>>>>>       .to("log:output");
>>>>>>>
>>>>>>> I'm testing it with a test that looks as follows:
>>>>>>>
>>>>>>> @EndpointInject(uri = "mock:lookupHeaders")
>>>>>>> MockEndpoint lookupHeaders;
>>>>>>>
>>>>>>> @EndpointInject(uri = "mock:searchResult")
>>>>>>> MockEndpoint searchResult;
>>>>>>>
>>>>>>> @EndpointInject(uri = "mock:lookupResult")
>>>>>>> MockEndpoint lookupResult;
>>>>>>>
>>>>>>> @Autowired
>>>>>>> CamelContext camelContext;
>>>>>>>
>>>>>>> @Before
>>>>>>> public void before() throws Exception {
>>>>>>>       ModelCamelContext context = (ModelCamelContext) camelContext;
>>>>>>>       context.setTracing(true);
>>>>>>>       RouteDefinition searchRoute =
>>>>>> context.getRouteDefinition("memberSearchRequest");
>>>>>>>       searchRoute.to(searchResult);
>>>>>>>
>>>>>>>       RouteDefinition lookupRoute =
>>>>>> context.getRouteDefinition("localMemberLookup");
>>>>>>>       lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
>>>>>>>               @Override
>>>>>>>               public void configure() throws Exception {
>>> weaveById("sqlParams").after().to(lookupHeaders);
>>>>>>>               }
>>>>>>>       });
>>>>>>>       lookupRoute.to(lookupResult);
>>>>>>>       context.start();
>>>>>>> }
>>>>>>>
>>>>>>> With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
>>>>>> the following error:
>>>>>>>
>>>>>>> java.lang.IllegalArgumentException: There are no outputs which
>>> matches:
>>>>>> sqlParams in the route
>>>>>>>
>>>>>>> Any ideas?
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Matt
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> -----------------
>>>>>> Red Hat, Inc.
>>>>>> Email: [hidden email]
>>>>>> Twitter: davsclaus
>>>>>> Blog: http://davsclaus.com
>>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>>> hawtio: http://hawt.io/
>>>>>> fabric8: http://fabric8.io/
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> -----------------
>>>> Red Hat, Inc.
>>>> Email: [hidden email]
>>>> Twitter: davsclaus
>>>> Blog: http://davsclaus.com
>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>> hawtio: http://hawt.io/
>>>> fabric8: http://fabric8.io/
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: [hidden email]
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
> hawtio: http://hawt.io/
> fabric8: http://fabric8.io/
Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Claus Ibsen-2
Yes and as I said, you are welcome to provide an unit test / sample
project / github project or whatever that reproduces the issue.
That helps us fix the issue.



On Wed, Jul 16, 2014 at 9:11 AM, Matt Raible <[hidden email]> wrote:

> I believe you.
>
> However, it seems it also creates an issue when using the Java DSL. At least from a testing perspective.
>
>> On Jul 16, 2014, at 1:04, Claus Ibsen <[hidden email]> wrote:
>>
>> Hi
>>
>> Yeah but the tests in camel-spring would likely fail. That commit
>> fixes some issues when using xml dsl to define routes (spring or
>> blueprint)
>>
>>> On Tue, Jul 15, 2014 at 8:19 PM, Matt Raible <[hidden email]> wrote:
>>> FWIW, all tests pass in camel-core with this change reverted.
>>>
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [INFO] BUILD SUCCESS
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [INFO] Total time: 20:57 min
>>> [INFO] Finished at: 2014-07-15T12:18:03-07:00
>>> [INFO] Final Memory: 25M/376M
>>>
>>>
>>> On Tue, Jul 15, 2014 at 11:01 AM, Matt Raible <[hidden email]>
>>> wrote:
>>>
>>>> If I revert the following change to AdviceWithTasks.java, it seems to
>>>> solve this issue:
>>>>
>>>>
>>>> https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9
>>>>
>>>> I cloned master, reverted this change, then installed everything to test.
>>>>
>>>>> On Jul 15, 2014, at 7:59 AM, Claus Ibsen <[hidden email]> wrote:
>>>>>
>>>>> On Tue, Jul 15, 2014 at 3:56 PM, Matt Raible <[hidden email]>
>>>> wrote:
>>>>>> It tried it with 2.13.2 and it works just fine.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> If its possible for you then you are welcome to .zip an unit test /
>>>>> sample project that has this issue and create a JIRA ticket and attach
>>>>> it, or some github repo or something else.
>>>>>
>>>>> I tired to reproduce from your mail this morning but the route worked
>>>> for me.
>>>>>
>>>>>>
>>>>>> On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]>
>>>> wrote:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> Can you try with 2.13.2 also?
>>>>>>>
>>>>>>> There was a fix in this to fix an issue when using Content Based
>>>>>>> Router and weaveById. I bet it may has cause a regression for your
>>>>>>> use-case.
>>>>>>>
>>>>>>> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
>>>>>>> wrote:
>>>>>>>> Hey all,
>>>>>>>>
>>>>>>>> I have the following route defined with the Java DSL:
>>>>>>>>
>>>>>>>> from("direct:localMemberLookup").routeId("localMemberLookup")
>>>>>>>>       .process(new
>>>>>>> MemberLookupToSqlParametersProcessor()).id("sqlParams")
>>>>>>> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
>>>>>>>>       .to("log:output")
>>>>>>>>       .process(new MemberLookupProcessor())
>>>>>>>>       // do more processing
>>>>>>>>       .to("log:output");
>>>>>>>>
>>>>>>>> I'm testing it with a test that looks as follows:
>>>>>>>>
>>>>>>>> @EndpointInject(uri = "mock:lookupHeaders")
>>>>>>>> MockEndpoint lookupHeaders;
>>>>>>>>
>>>>>>>> @EndpointInject(uri = "mock:searchResult")
>>>>>>>> MockEndpoint searchResult;
>>>>>>>>
>>>>>>>> @EndpointInject(uri = "mock:lookupResult")
>>>>>>>> MockEndpoint lookupResult;
>>>>>>>>
>>>>>>>> @Autowired
>>>>>>>> CamelContext camelContext;
>>>>>>>>
>>>>>>>> @Before
>>>>>>>> public void before() throws Exception {
>>>>>>>>       ModelCamelContext context = (ModelCamelContext) camelContext;
>>>>>>>>       context.setTracing(true);
>>>>>>>>       RouteDefinition searchRoute =
>>>>>>> context.getRouteDefinition("memberSearchRequest");
>>>>>>>>       searchRoute.to(searchResult);
>>>>>>>>
>>>>>>>>       RouteDefinition lookupRoute =
>>>>>>> context.getRouteDefinition("localMemberLookup");
>>>>>>>>       lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
>>>>>>>>               @Override
>>>>>>>>               public void configure() throws Exception {
>>>> weaveById("sqlParams").after().to(lookupHeaders);
>>>>>>>>               }
>>>>>>>>       });
>>>>>>>>       lookupRoute.to(lookupResult);
>>>>>>>>       context.start();
>>>>>>>> }
>>>>>>>>
>>>>>>>> With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
>>>>>>> the following error:
>>>>>>>>
>>>>>>>> java.lang.IllegalArgumentException: There are no outputs which
>>>> matches:
>>>>>>> sqlParams in the route
>>>>>>>>
>>>>>>>> Any ideas?
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Matt
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Claus Ibsen
>>>>>>> -----------------
>>>>>>> Red Hat, Inc.
>>>>>>> Email: [hidden email]
>>>>>>> Twitter: davsclaus
>>>>>>> Blog: http://davsclaus.com
>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>>>> hawtio: http://hawt.io/
>>>>>>> fabric8: http://fabric8.io/
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> -----------------
>>>>> Red Hat, Inc.
>>>>> Email: [hidden email]
>>>>> Twitter: davsclaus
>>>>> Blog: http://davsclaus.com
>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>> hawtio: http://hawt.io/
>>>>> fabric8: http://fabric8.io/
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> Red Hat, Inc.
>> Email: [hidden email]
>> Twitter: davsclaus
>> Blog: http://davsclaus.com
>> Author of Camel in Action: http://www.manning.com/ibsen
>> hawtio: http://hawt.io/
>> fabric8: http://fabric8.io/



--
Claus Ibsen
-----------------
Red Hat, Inc.
Email: [hidden email]
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/
Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Claus Ibsen-2
Hi

Also you could try on your end, by removing that continue code at
ProcessorDefinitionHelpe line 253
https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9#diff-4cb94818eb1df1901b1c8278bd278ba7R253

And do a local build and test with your use-case



On Wed, Jul 16, 2014 at 9:16 AM, Claus Ibsen <[hidden email]> wrote:

> Yes and as I said, you are welcome to provide an unit test / sample
> project / github project or whatever that reproduces the issue.
> That helps us fix the issue.
>
>
>
> On Wed, Jul 16, 2014 at 9:11 AM, Matt Raible <[hidden email]> wrote:
>> I believe you.
>>
>> However, it seems it also creates an issue when using the Java DSL. At least from a testing perspective.
>>
>>> On Jul 16, 2014, at 1:04, Claus Ibsen <[hidden email]> wrote:
>>>
>>> Hi
>>>
>>> Yeah but the tests in camel-spring would likely fail. That commit
>>> fixes some issues when using xml dsl to define routes (spring or
>>> blueprint)
>>>
>>>> On Tue, Jul 15, 2014 at 8:19 PM, Matt Raible <[hidden email]> wrote:
>>>> FWIW, all tests pass in camel-core with this change reverted.
>>>>
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> [INFO] BUILD SUCCESS
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> [INFO] Total time: 20:57 min
>>>> [INFO] Finished at: 2014-07-15T12:18:03-07:00
>>>> [INFO] Final Memory: 25M/376M
>>>>
>>>>
>>>> On Tue, Jul 15, 2014 at 11:01 AM, Matt Raible <[hidden email]>
>>>> wrote:
>>>>
>>>>> If I revert the following change to AdviceWithTasks.java, it seems to
>>>>> solve this issue:
>>>>>
>>>>>
>>>>> https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9
>>>>>
>>>>> I cloned master, reverted this change, then installed everything to test.
>>>>>
>>>>>> On Jul 15, 2014, at 7:59 AM, Claus Ibsen <[hidden email]> wrote:
>>>>>>
>>>>>> On Tue, Jul 15, 2014 at 3:56 PM, Matt Raible <[hidden email]>
>>>>> wrote:
>>>>>>> It tried it with 2.13.2 and it works just fine.
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> If its possible for you then you are welcome to .zip an unit test /
>>>>>> sample project that has this issue and create a JIRA ticket and attach
>>>>>> it, or some github repo or something else.
>>>>>>
>>>>>> I tired to reproduce from your mail this morning but the route worked
>>>>> for me.
>>>>>>
>>>>>>>
>>>>>>> On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]>
>>>>> wrote:
>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> Can you try with 2.13.2 also?
>>>>>>>>
>>>>>>>> There was a fix in this to fix an issue when using Content Based
>>>>>>>> Router and weaveById. I bet it may has cause a regression for your
>>>>>>>> use-case.
>>>>>>>>
>>>>>>>> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
>>>>>>>> wrote:
>>>>>>>>> Hey all,
>>>>>>>>>
>>>>>>>>> I have the following route defined with the Java DSL:
>>>>>>>>>
>>>>>>>>> from("direct:localMemberLookup").routeId("localMemberLookup")
>>>>>>>>>       .process(new
>>>>>>>> MemberLookupToSqlParametersProcessor()).id("sqlParams")
>>>>>>>> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
>>>>>>>>>       .to("log:output")
>>>>>>>>>       .process(new MemberLookupProcessor())
>>>>>>>>>       // do more processing
>>>>>>>>>       .to("log:output");
>>>>>>>>>
>>>>>>>>> I'm testing it with a test that looks as follows:
>>>>>>>>>
>>>>>>>>> @EndpointInject(uri = "mock:lookupHeaders")
>>>>>>>>> MockEndpoint lookupHeaders;
>>>>>>>>>
>>>>>>>>> @EndpointInject(uri = "mock:searchResult")
>>>>>>>>> MockEndpoint searchResult;
>>>>>>>>>
>>>>>>>>> @EndpointInject(uri = "mock:lookupResult")
>>>>>>>>> MockEndpoint lookupResult;
>>>>>>>>>
>>>>>>>>> @Autowired
>>>>>>>>> CamelContext camelContext;
>>>>>>>>>
>>>>>>>>> @Before
>>>>>>>>> public void before() throws Exception {
>>>>>>>>>       ModelCamelContext context = (ModelCamelContext) camelContext;
>>>>>>>>>       context.setTracing(true);
>>>>>>>>>       RouteDefinition searchRoute =
>>>>>>>> context.getRouteDefinition("memberSearchRequest");
>>>>>>>>>       searchRoute.to(searchResult);
>>>>>>>>>
>>>>>>>>>       RouteDefinition lookupRoute =
>>>>>>>> context.getRouteDefinition("localMemberLookup");
>>>>>>>>>       lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
>>>>>>>>>               @Override
>>>>>>>>>               public void configure() throws Exception {
>>>>> weaveById("sqlParams").after().to(lookupHeaders);
>>>>>>>>>               }
>>>>>>>>>       });
>>>>>>>>>       lookupRoute.to(lookupResult);
>>>>>>>>>       context.start();
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
>>>>>>>> the following error:
>>>>>>>>>
>>>>>>>>> java.lang.IllegalArgumentException: There are no outputs which
>>>>> matches:
>>>>>>>> sqlParams in the route
>>>>>>>>>
>>>>>>>>> Any ideas?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> Matt
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Claus Ibsen
>>>>>>>> -----------------
>>>>>>>> Red Hat, Inc.
>>>>>>>> Email: [hidden email]
>>>>>>>> Twitter: davsclaus
>>>>>>>> Blog: http://davsclaus.com
>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>>>>> hawtio: http://hawt.io/
>>>>>>>> fabric8: http://fabric8.io/
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> -----------------
>>>>>> Red Hat, Inc.
>>>>>> Email: [hidden email]
>>>>>> Twitter: davsclaus
>>>>>> Blog: http://davsclaus.com
>>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>>> hawtio: http://hawt.io/
>>>>>> fabric8: http://fabric8.io/
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> Red Hat, Inc.
>>> Email: [hidden email]
>>> Twitter: davsclaus
>>> Blog: http://davsclaus.com
>>> Author of Camel in Action: http://www.manning.com/ibsen
>>> hawtio: http://hawt.io/
>>> fabric8: http://fabric8.io/
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: [hidden email]
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
> hawtio: http://hawt.io/
> fabric8: http://fabric8.io/



--
Claus Ibsen
-----------------
Red Hat, Inc.
Email: [hidden email]
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/
Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Matt Raible
If I remove the continue line on 253 in ProcessDefinitionHelper and install locally (with -DskipTests), my test passes. There is a test failure in camel-core after making this change.

  AdviceWithPolicyTest>TestSupport.runBare:58->testAdviceWithPolicy:49->ContextTestSupport.assertMockEndpointsSatisfied:343 mock://result Received message count. Expected: <1> but was: <2>

I'll work on creating a sample project that demonstrates this issue.

On Jul 16, 2014, at 2:50 AM, Claus Ibsen <[hidden email]> wrote:

> Hi
>
> Also you could try on your end, by removing that continue code at
> ProcessorDefinitionHelpe line 253
> https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9#diff-4cb94818eb1df1901b1c8278bd278ba7R253
>
> And do a local build and test with your use-case
>
>
>
> On Wed, Jul 16, 2014 at 9:16 AM, Claus Ibsen <[hidden email]> wrote:
>> Yes and as I said, you are welcome to provide an unit test / sample
>> project / github project or whatever that reproduces the issue.
>> That helps us fix the issue.
>>
>>
>>
>> On Wed, Jul 16, 2014 at 9:11 AM, Matt Raible <[hidden email]> wrote:
>>> I believe you.
>>>
>>> However, it seems it also creates an issue when using the Java DSL. At least from a testing perspective.
>>>
>>>> On Jul 16, 2014, at 1:04, Claus Ibsen <[hidden email]> wrote:
>>>>
>>>> Hi
>>>>
>>>> Yeah but the tests in camel-spring would likely fail. That commit
>>>> fixes some issues when using xml dsl to define routes (spring or
>>>> blueprint)
>>>>
>>>>> On Tue, Jul 15, 2014 at 8:19 PM, Matt Raible <[hidden email]> wrote:
>>>>> FWIW, all tests pass in camel-core with this change reverted.
>>>>>
>>>>> [INFO]
>>>>> ------------------------------------------------------------------------
>>>>> [INFO] BUILD SUCCESS
>>>>> [INFO]
>>>>> ------------------------------------------------------------------------
>>>>> [INFO] Total time: 20:57 min
>>>>> [INFO] Finished at: 2014-07-15T12:18:03-07:00
>>>>> [INFO] Final Memory: 25M/376M
>>>>>
>>>>>
>>>>> On Tue, Jul 15, 2014 at 11:01 AM, Matt Raible <[hidden email]>
>>>>> wrote:
>>>>>
>>>>>> If I revert the following change to AdviceWithTasks.java, it seems to
>>>>>> solve this issue:
>>>>>>
>>>>>>
>>>>>> https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9
>>>>>>
>>>>>> I cloned master, reverted this change, then installed everything to test.
>>>>>>
>>>>>>> On Jul 15, 2014, at 7:59 AM, Claus Ibsen <[hidden email]> wrote:
>>>>>>>
>>>>>>> On Tue, Jul 15, 2014 at 3:56 PM, Matt Raible <[hidden email]>
>>>>>> wrote:
>>>>>>>> It tried it with 2.13.2 and it works just fine.
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> If its possible for you then you are welcome to .zip an unit test /
>>>>>>> sample project that has this issue and create a JIRA ticket and attach
>>>>>>> it, or some github repo or something else.
>>>>>>>
>>>>>>> I tired to reproduce from your mail this morning but the route worked
>>>>>> for me.
>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]>
>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi
>>>>>>>>>
>>>>>>>>> Can you try with 2.13.2 also?
>>>>>>>>>
>>>>>>>>> There was a fix in this to fix an issue when using Content Based
>>>>>>>>> Router and weaveById. I bet it may has cause a regression for your
>>>>>>>>> use-case.
>>>>>>>>>
>>>>>>>>> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
>>>>>>>>> wrote:
>>>>>>>>>> Hey all,
>>>>>>>>>>
>>>>>>>>>> I have the following route defined with the Java DSL:
>>>>>>>>>>
>>>>>>>>>> from("direct:localMemberLookup").routeId("localMemberLookup")
>>>>>>>>>>      .process(new
>>>>>>>>> MemberLookupToSqlParametersProcessor()).id("sqlParams")
>>>>>>>>> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
>>>>>>>>>>      .to("log:output")
>>>>>>>>>>      .process(new MemberLookupProcessor())
>>>>>>>>>>      // do more processing
>>>>>>>>>>      .to("log:output");
>>>>>>>>>>
>>>>>>>>>> I'm testing it with a test that looks as follows:
>>>>>>>>>>
>>>>>>>>>> @EndpointInject(uri = "mock:lookupHeaders")
>>>>>>>>>> MockEndpoint lookupHeaders;
>>>>>>>>>>
>>>>>>>>>> @EndpointInject(uri = "mock:searchResult")
>>>>>>>>>> MockEndpoint searchResult;
>>>>>>>>>>
>>>>>>>>>> @EndpointInject(uri = "mock:lookupResult")
>>>>>>>>>> MockEndpoint lookupResult;
>>>>>>>>>>
>>>>>>>>>> @Autowired
>>>>>>>>>> CamelContext camelContext;
>>>>>>>>>>
>>>>>>>>>> @Before
>>>>>>>>>> public void before() throws Exception {
>>>>>>>>>>      ModelCamelContext context = (ModelCamelContext) camelContext;
>>>>>>>>>>      context.setTracing(true);
>>>>>>>>>>      RouteDefinition searchRoute =
>>>>>>>>> context.getRouteDefinition("memberSearchRequest");
>>>>>>>>>>      searchRoute.to(searchResult);
>>>>>>>>>>
>>>>>>>>>>      RouteDefinition lookupRoute =
>>>>>>>>> context.getRouteDefinition("localMemberLookup");
>>>>>>>>>>      lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
>>>>>>>>>>              @Override
>>>>>>>>>>              public void configure() throws Exception {
>>>>>> weaveById("sqlParams").after().to(lookupHeaders);
>>>>>>>>>>              }
>>>>>>>>>>      });
>>>>>>>>>>      lookupRoute.to(lookupResult);
>>>>>>>>>>      context.start();
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
>>>>>>>>> the following error:
>>>>>>>>>>
>>>>>>>>>> java.lang.IllegalArgumentException: There are no outputs which
>>>>>> matches:
>>>>>>>>> sqlParams in the route
>>>>>>>>>>
>>>>>>>>>> Any ideas?
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> Matt
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Claus Ibsen
>>>>>>>>> -----------------
>>>>>>>>> Red Hat, Inc.
>>>>>>>>> Email: [hidden email]
>>>>>>>>> Twitter: davsclaus
>>>>>>>>> Blog: http://davsclaus.com
>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>>>>>> hawtio: http://hawt.io/
>>>>>>>>> fabric8: http://fabric8.io/
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Claus Ibsen
>>>>>>> -----------------
>>>>>>> Red Hat, Inc.
>>>>>>> Email: [hidden email]
>>>>>>> Twitter: davsclaus
>>>>>>> Blog: http://davsclaus.com
>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>>>> hawtio: http://hawt.io/
>>>>>>> fabric8: http://fabric8.io/
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> -----------------
>>>> Red Hat, Inc.
>>>> Email: [hidden email]
>>>> Twitter: davsclaus
>>>> Blog: http://davsclaus.com
>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>> hawtio: http://hawt.io/
>>>> fabric8: http://fabric8.io/
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> Red Hat, Inc.
>> Email: [hidden email]
>> Twitter: davsclaus
>> Blog: http://davsclaus.com
>> Author of Camel in Action: http://www.manning.com/ibsen
>> hawtio: http://hawt.io/
>> fabric8: http://fabric8.io/
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: [hidden email]
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
> hawtio: http://hawt.io/
> fabric8: http://fabric8.io/

Reply | Threaded
Open this post in threaded view
|

Re: weaveById - works with 2.13.1, not with 2.14-SNAPSHOT

Matt Raible
Actually, scratch what I said below - I was testing it on the wrong branch in my project. Making the change in ProcessDefinitionHelper does NOT cause my test to pass. I created a JIRA and attached a sample project that shows this issue.

https://issues.apache.org/jira/browse/CAMEL-7622

Thanks,

Matt

On Jul 21, 2014, at 9:54 AM, Matt Raible <[hidden email]> wrote:

> If I remove the continue line on 253 in ProcessDefinitionHelper and install locally (with -DskipTests), my test passes. There is a test failure in camel-core after making this change.
>
>  AdviceWithPolicyTest>TestSupport.runBare:58->testAdviceWithPolicy:49->ContextTestSupport.assertMockEndpointsSatisfied:343 mock://result Received message count. Expected: <1> but was: <2>
>
> I'll work on creating a sample project that demonstrates this issue.
>
> On Jul 16, 2014, at 2:50 AM, Claus Ibsen <[hidden email]> wrote:
>
>> Hi
>>
>> Also you could try on your end, by removing that continue code at
>> ProcessorDefinitionHelpe line 253
>> https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9#diff-4cb94818eb1df1901b1c8278bd278ba7R253
>>
>> And do a local build and test with your use-case
>>
>>
>>
>> On Wed, Jul 16, 2014 at 9:16 AM, Claus Ibsen <[hidden email]> wrote:
>>> Yes and as I said, you are welcome to provide an unit test / sample
>>> project / github project or whatever that reproduces the issue.
>>> That helps us fix the issue.
>>>
>>>
>>>
>>> On Wed, Jul 16, 2014 at 9:11 AM, Matt Raible <[hidden email]> wrote:
>>>> I believe you.
>>>>
>>>> However, it seems it also creates an issue when using the Java DSL. At least from a testing perspective.
>>>>
>>>>> On Jul 16, 2014, at 1:04, Claus Ibsen <[hidden email]> wrote:
>>>>>
>>>>> Hi
>>>>>
>>>>> Yeah but the tests in camel-spring would likely fail. That commit
>>>>> fixes some issues when using xml dsl to define routes (spring or
>>>>> blueprint)
>>>>>
>>>>>> On Tue, Jul 15, 2014 at 8:19 PM, Matt Raible <[hidden email]> wrote:
>>>>>> FWIW, all tests pass in camel-core with this change reverted.
>>>>>>
>>>>>> [INFO]
>>>>>> ------------------------------------------------------------------------
>>>>>> [INFO] BUILD SUCCESS
>>>>>> [INFO]
>>>>>> ------------------------------------------------------------------------
>>>>>> [INFO] Total time: 20:57 min
>>>>>> [INFO] Finished at: 2014-07-15T12:18:03-07:00
>>>>>> [INFO] Final Memory: 25M/376M
>>>>>>
>>>>>>
>>>>>> On Tue, Jul 15, 2014 at 11:01 AM, Matt Raible <[hidden email]>
>>>>>> wrote:
>>>>>>
>>>>>>> If I revert the following change to AdviceWithTasks.java, it seems to
>>>>>>> solve this issue:
>>>>>>>
>>>>>>>
>>>>>>> https://github.com/apache/camel/commit/b08edf391bddb99078f15966394ac264440ffce9
>>>>>>>
>>>>>>> I cloned master, reverted this change, then installed everything to test.
>>>>>>>
>>>>>>>> On Jul 15, 2014, at 7:59 AM, Claus Ibsen <[hidden email]> wrote:
>>>>>>>>
>>>>>>>> On Tue, Jul 15, 2014 at 3:56 PM, Matt Raible <[hidden email]>
>>>>>>> wrote:
>>>>>>>>> It tried it with 2.13.2 and it works just fine.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>> If its possible for you then you are welcome to .zip an unit test /
>>>>>>>> sample project that has this issue and create a JIRA ticket and attach
>>>>>>>> it, or some github repo or something else.
>>>>>>>>
>>>>>>>> I tired to reproduce from your mail this morning but the route worked
>>>>>>> for me.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Jul 15, 2014 at 12:12 AM, Claus Ibsen <[hidden email]>
>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>> Can you try with 2.13.2 also?
>>>>>>>>>>
>>>>>>>>>> There was a fix in this to fix an issue when using Content Based
>>>>>>>>>> Router and weaveById. I bet it may has cause a regression for your
>>>>>>>>>> use-case.
>>>>>>>>>>
>>>>>>>>>> On Mon, Jul 14, 2014 at 11:31 PM, Matt Raible <[hidden email]>
>>>>>>>>>> wrote:
>>>>>>>>>>> Hey all,
>>>>>>>>>>>
>>>>>>>>>>> I have the following route defined with the Java DSL:
>>>>>>>>>>>
>>>>>>>>>>> from("direct:localMemberLookup").routeId("localMemberLookup")
>>>>>>>>>>>     .process(new
>>>>>>>>>> MemberLookupToSqlParametersProcessor()).id("sqlParams")
>>>>>>>>>> .recipientList(simple("sql:{{sql.memberLookup}}")).delimiter("false")
>>>>>>>>>>>     .to("log:output")
>>>>>>>>>>>     .process(new MemberLookupProcessor())
>>>>>>>>>>>     // do more processing
>>>>>>>>>>>     .to("log:output");
>>>>>>>>>>>
>>>>>>>>>>> I'm testing it with a test that looks as follows:
>>>>>>>>>>>
>>>>>>>>>>> @EndpointInject(uri = "mock:lookupHeaders")
>>>>>>>>>>> MockEndpoint lookupHeaders;
>>>>>>>>>>>
>>>>>>>>>>> @EndpointInject(uri = "mock:searchResult")
>>>>>>>>>>> MockEndpoint searchResult;
>>>>>>>>>>>
>>>>>>>>>>> @EndpointInject(uri = "mock:lookupResult")
>>>>>>>>>>> MockEndpoint lookupResult;
>>>>>>>>>>>
>>>>>>>>>>> @Autowired
>>>>>>>>>>> CamelContext camelContext;
>>>>>>>>>>>
>>>>>>>>>>> @Before
>>>>>>>>>>> public void before() throws Exception {
>>>>>>>>>>>     ModelCamelContext context = (ModelCamelContext) camelContext;
>>>>>>>>>>>     context.setTracing(true);
>>>>>>>>>>>     RouteDefinition searchRoute =
>>>>>>>>>> context.getRouteDefinition("memberSearchRequest");
>>>>>>>>>>>     searchRoute.to(searchResult);
>>>>>>>>>>>
>>>>>>>>>>>     RouteDefinition lookupRoute =
>>>>>>>>>> context.getRouteDefinition("localMemberLookup");
>>>>>>>>>>>     lookupRoute.adviceWith(context, new AdviceWithRouteBuilder() {
>>>>>>>>>>>             @Override
>>>>>>>>>>>             public void configure() throws Exception {
>>>>>>> weaveById("sqlParams").after().to(lookupHeaders);
>>>>>>>>>>>             }
>>>>>>>>>>>     });
>>>>>>>>>>>     lookupRoute.to(lookupResult);
>>>>>>>>>>>     context.start();
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> With Camel 2.13.1, this works fine. However, with 2.14-SNAPSHOT, I get
>>>>>>>>>> the following error:
>>>>>>>>>>>
>>>>>>>>>>> java.lang.IllegalArgumentException: There are no outputs which
>>>>>>> matches:
>>>>>>>>>> sqlParams in the route
>>>>>>>>>>>
>>>>>>>>>>> Any ideas?
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>>
>>>>>>>>>>> Matt
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Claus Ibsen
>>>>>>>>>> -----------------
>>>>>>>>>> Red Hat, Inc.
>>>>>>>>>> Email: [hidden email]
>>>>>>>>>> Twitter: davsclaus
>>>>>>>>>> Blog: http://davsclaus.com
>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>>>>>>> hawtio: http://hawt.io/
>>>>>>>>>> fabric8: http://fabric8.io/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Claus Ibsen
>>>>>>>> -----------------
>>>>>>>> Red Hat, Inc.
>>>>>>>> Email: [hidden email]
>>>>>>>> Twitter: davsclaus
>>>>>>>> Blog: http://davsclaus.com
>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>>>>> hawtio: http://hawt.io/
>>>>>>>> fabric8: http://fabric8.io/
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> -----------------
>>>>> Red Hat, Inc.
>>>>> Email: [hidden email]
>>>>> Twitter: davsclaus
>>>>> Blog: http://davsclaus.com
>>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>> hawtio: http://hawt.io/
>>>>> fabric8: http://fabric8.io/
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> Red Hat, Inc.
>>> Email: [hidden email]
>>> Twitter: davsclaus
>>> Blog: http://davsclaus.com
>>> Author of Camel in Action: http://www.manning.com/ibsen
>>> hawtio: http://hawt.io/
>>> fabric8: http://fabric8.io/
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> Red Hat, Inc.
>> Email: [hidden email]
>> Twitter: davsclaus
>> Blog: http://davsclaus.com
>> Author of Camel in Action: http://www.manning.com/ibsen
>> hawtio: http://hawt.io/
>> fabric8: http://fabric8.io/
>