Hi, I have a route that listens to a ActiveMQ queue. Whenever a new message is put on the queue, my route does the dequeing of the message using the cJMS component (JMS_DequeueFromCRMQueue) and routes the message onto the next component (cProcessor_1). Then the message is routed to TalendJob_GetQueueName (cTalendJob component). I have a cErrorHandler component (ErrorHandler_CaptureError) for error handling within my route. I have configured this component so that whenever there is an error encountered somewhere within my route, it is retried once (Redelivery = 1) and then the processing redirects to the subroute (MessagingEndpoint_DeadLetter -- cProcessor_6 -- cBean_1 -- cJMS_4) I have created to deal with any error. When there is an error in cProcessor_1, as expected, it is retried once and then sent to the subroute that deals with errors - It goes to the MessagingEndpoint_DeadLetter component and then the message is routed to cProcessor_6 where some new info are added as message headers and then the message is routed to the cBean_1 component which creates a new error document and sets that as the new IN body of the message and then that message is routed to the cJMS_4 component that puts the message on the ActiveMQ error queue. I have checked the message in ActiveMQ error queue and it is all fine.
Problem: When there is an error in the cTalendJob component (TalendJob_GetQueueName) due to the child job experiencing an error itself, it is retried once (As expected) and then sent to the subroute that deals with errors - It goes to the MessagingEndpoint_DeadLetter component and then the message is routed to cProcessor_6 (As expected) BUT then the message is NOT routed to the cBean_1 component. I can even print out the error coming from the child job in cProcessor_6 which means everything is fine upto cProcessor_6 but then the message does not go onto the next component (cBean_1) for some reason).
Please advise me on how I can solve this problem. I greatly appreciate your help.
Hi, I've created same route with cTalendJob throwing exception. And i can not reproduce your issue, error handler rediliveres exchange one time, put it to dead letter queue. Then DeadLetter comsumer sonsumes it, process and goes next to bean and error activemq producer. Can you attach your route and provide Studio version you use?