Hello everyone,
Unfortunately, we’re facing an issue with Camel 4.6/ 4.7, when we’re applying
any kind of route advisories, using the AdviceWithRouteBuilder from within a
route template definition converter, e. g. an advisory like
weaveAddFirst().setHeader(HEADER_ORIGINAL_ROUTE_ID)…
from within
final var converter = new RouteAdvisoryStrategy(context, environment);
defaultContext.addRouteTemplateDefinitionConverter("*", converter);
The very same code works perfectly fine with Camel 4.4.
Furthermore, the advisories also work fine, when used from a model lifecycle
strategy like follows, even on 4.6/4.7:
defaultContext.addModelLifecycleStrategy(new RouteAdvisoryStrategy(context,
environment));
The exception we’re facing looks like follows:
java.lang.IllegalArgumentException: There are no outputs which matches: * in
the route: Route[From[{{source}}] ->
[To[micrometer:timer:duration?action=start], Log[Route ${header.RouteIdOrigin}
invoked], To[micrometer:timer:duration?action=stop],
To[log://test?showAll=true]]]
at
org.apache.camel.builder.AdviceWithTasks$3.task(AdviceWithTasks.java:358)
at
org.apache.camel.builder.AdviceWith.doAdviceWith(AdviceWith.java:259)
at
org.apache.camel.builder.AdviceWith.adviceWith(AdviceWith.java:194)
at
com.bosch.repo.test.configuration.RouteAdvisoryStrategy.apply(RouteAdvisoryStrategy.java:60)
at
org.apache.camel.impl.DefaultModel.addRouteFromTemplate(DefaultModel.java:504)
at
org.apache.camel.impl.DefaultModel.addRouteFromTemplate(DefaultModel.java:395)
at
org.apache.camel.impl.DefaultCamelContext.addRouteFromTemplate(DefaultCamelContext.java:355)
at
org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2383)
at
org.apache.camel.support.service.BaseService.init(BaseService.java:78)
at
org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2024)
at
org.apache.camel.support.service.BaseService.start(BaseService.java:105)
at
org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2043)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211)
at
org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:119)
at
org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:151)
at
org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185)
at
org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178)
at
org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156)
at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:451)
at
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:384)
at
org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:984)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
at
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
at
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:335)
at
org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:149)
at com.bosch.repo.test.Application.main(Application.java:20)
We would be very glad if you can support us here.
Thanks very much.
Best Regards,
Andreas