Hi Your test case works in newer Camel releases https://github.com/apache/camel/commit/5538801e5dc23469d133ebe78ba69c12eecfff1d
On Wed, Jan 7, 2015 at 5:19 PM, Hude <flipdeskr...@googlemail.com> wrote: > Hi, > > we’ve got a problem with the changes for CAMEL-7560. Since an upgrade from > 2.12.2 to 2.12.5 all tests where we use the weaveAddFirst method to advice > routes with an onException-clause failed with the following > IllegalArgumentException: > > "java.lang.IllegalArgumentException: There are no outputs which matches: > ..." > > The reason is that the call "outputs.get(0).getOutputs();" in > AdviceWithTasks for an OnExceptionDefinition only returns the onException > part of the route. I've added a test in AdviceWithTasksTest to demonstrate > it: > > public void testBeforeWithOnException() throws Exception { > context.addRoutes(new RouteBuilder() { > > @Override > public void configure() throws Exception { > from("direct:start2") > .onException(Throwable.class).handled(true).end() > .to("mock:foo") > .to("mock:bar") > .id("bar2") > .to("mock:result");; > > } > }); > // START SNIPPET: e3 > context.getRouteDefinitions().get(1).adviceWith(context, new > AdviceWithRouteBuilder() { > @Override > public void configure() throws Exception { > // weave the node in the route which has id = bar > // and insert the following route path before the adviced > node > > weaveById("bar2").before().to("mock:a").transform(constant("Bye World")); > } > }); > // END SNIPPET: e3 > > getMockEndpoint("mock:foo").expectedBodiesReceived("Hello World"); > getMockEndpoint("mock:a").expectedBodiesReceived("Hello World"); > getMockEndpoint("mock:bar").expectedBodiesReceived("Bye World"); > getMockEndpoint("mock:result").expectedBodiesReceived("Bye World"); > > template.sendBody("direct:start2", "Hello World"); > > assertMockEndpointsSatisfied(); > } > > Is there any need why it’s for any abstract definition? If I change the > premise in AdviceWithTasks.getParentOutputs from > "outputs.get(0).isAbstract()" to "outputs.get(0) instanceof > TransactedDefinition" all tests passed. Enclosed you will find my svn patch. > > Greeting > > Dennis > > AdviceWithTasks_Patch.txt > <http://camel.465427.n5.nabble.com/file/n5761437/AdviceWithTasks_Patch.txt> > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Problem-with-adviceWith-on-2-13-x-tp5752421p5761437.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen hawtio: http://hawt.io/ fabric8: http://fabric8.io/