We have a ESB route that consumes messages from a Jms server , process them then send them to a target server.
The problem is that target server is not available every saturday 6-->10pm for maintainance purpose.
How can we handle this ? I guess quartz scheduler only works with file consuming endpoint, not jms ones.
Or we could consume the message but then "keep" them in some way before sending them to target server, only during the maintainance period, and keep instant processing the rest of time ?
Have you already checked cTimer component in Camel Routes for simple schedules?
cTimer is absolutly NOT a solution to this. It just generates messages, while we need to get them from JMS.
I have redirected your issue to ESB PM and experts and will come back to you as soon as we can.
Thanks for your time and sorry for delay.
We got some feedback from ESB experts.
Is it a good way for you to consider your usecase a DI job?
If the want to stay with a route then the target system should somehow announce it's availability.
Potentially then you could activate and deactivate a route (bundle start/stop).
Hope it will be of some use.
We don't want to use jobs within routes as Talend itself says it has poor performance.
Your second solution (bundle stop/start) supposes a developpement from outside Camel/Talend routes, a unix or windows script. It would work but we prefer to stay in the same dev environnement, if possible.
I think the Camel "controler bus" could be of any help here but did not find any Talend example for it