I have three SalesForce jobs that I would like to put on a timer to run once a month at the same time(7am). I'm having a hard time find a tutorial of placing quartz into the talend route as well as have multiple jobs listen on that route. Quartz would be only to kick off all three of these jobs. Can you please provide a tutorial for how to place quartz into a route as well as have multiple jobs dequeue messages bound to the same endpoint.
The route for this would be very simple. It would really consist of two routes, a quartz consumer and a JMS consumer(s). You may want multiple of the latter. Also note that you will need to run an instance of ActiveMQ, either stand-alone or in your ESB node in the following example. In Mediation view, implement the quartz component using the cMessageEndpoint using the URI structure described here http://camel.apache.org/quartz.html . Wire it to a cJMS endpoint that is pointing to a queue. You will need to add the camel-quartz dependency in the Advanced tab of the cMessageEndpoint component used for Quartz as shown below:
I have posted an additional example using tMOM to consumer the message from the queue. http://eost.net/eost/quartzConsumer/tMOMConsumer.zip Remember that you will need an activeMQ broker instance running. To configure the tMOM component just select the type of broker, ActiveMQ in the case of Talend ESB; check the keep listening box; select the host and port, the defaults are fine; then select queue or topic as the type of destination, in this case queue; specify the name of the destination; Then run the job. It will keep running (i.e. keep listening) until you manually stop it.
Now start the tQuartConsumer. Flip back to the tMOMconsumer to see that messages are being delivered. If you are really bored, start the jmsConsumer ESB route as well. It will compete with the tMOMconsumer for messages.