Hi!
I think there is something wrong with our camel context. Not sure what.
We were creating a camel context in blueprints [karaf 4.1.4] using the
<camelContext> tag, and then trying to replace the activemq component with a
new one with a failover() url in java (removeComponent('activemq'),
addComponent('activemq')), however when the camel context was started the wrong
activemq was used.
So, I switched the blueprint to construct a camel context by doing the
something like the following:
<bean class="DefaultCamelContext">, then in the java I set a 'mymq' component
with a sub class of the activemq component that creates a SendToIntercept
endpoint as needed.
That works, not ideal. However, now the error handler that I am creating via
Java DSL does not appear to fire when a failure occurs on the route.
Any ideas what might be missing on the camel context created that way such that
the interceptors and error handlers do not seem to register correctly?
-Doug
From: Jackson, Douglas (DF PL LCS CF SEPL SEF ING)
Sent: Friday, June 8, 2018 12:17 PM
To: [email protected]
Subject: RE: How to use InterceptSendToEndpoint from Java DSL
Hi!
Thanks so much for responding. It is awesome to have someone of your caliber
answering my questions!
> Ah okay yeah you can have it in one route builder, where you can have
> all your interceptors. Then during startup it will re-register any
> existing endpoints with itself so it can proxy/detour.
My initial attempt was to create a RouteBuilder and in the configure method
call the interceptSendToEndpoint() method a few times.
camelContext.addRoutes(new RouteBuilder() {
@Override
public void configure()
throws Exception {
interceptSendToEndpoint("activemq:queue:.*-xxx").to("direct:queued-Interceptor");
interceptSendToEndpoint("activemq:queue:.*-xxx-dlq").to("direct:queued-Interceptor");
interceptSendToEndpoint("activemq:queue:.*-xxx-paused").to("direct:queued-Interceptor");
}
});
However, the queued-interceptor route was never fired when a message was posted
to activemq.
So I assumed that those interceptors were not acting beyond the context of the
route.
-Doug