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

Reply via email to