Serge Smertin created CAMEL-7786:
------------------------------------
Summary: Global exception handling breaks routeId
Key: CAMEL-7786
URL: https://issues.apache.org/jira/browse/CAMEL-7786
Project: Camel
Issue Type: Bug
Affects Versions: 2.12.0
Reporter: Serge Smertin
This is somehow related to CAMEL-2109. Using Java DSL and code like
{code}
onException(Error.class).to("errorChannel");
from(somethingChannel).routeId("triggerDoingSomething")
.inOnly("bean:foo")
.inOnly("bean:blah");
/// later doing
context.getRouteDefinition("triggerDoingSomething").adviceWith(context, new
AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
weaveAddFirst().process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception
{
dumpSomeValues();
}
});
}
});
{code}
does not work, as {code}OnException[[class java.lang.Error] ->
[To[errorChannel]]]{code} has no parent and `AdviseWithTask` never gets `match
= true` in a loop. I guess it would not even work with multiple OnException
definitions.
workaround? `weaveByType(OnExceptionDefinition.class)`? Ideas? Is it the right
use of route identifiers?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)