Skip to main content
Announcements
SYSTEM MAINTENANCE: Thurs., Sept. 19, 1 AM ET, Platform will be unavailable for approx. 60 minutes.
cancel
Showing results for 
Search instead for 
Did you mean: 
peterm1
Contributor
Contributor

Quartz scheduler

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.
Labels (3)
2 Replies
Anonymous
Not applicable

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:

Create another route that consumes from the same queue. This could be either an ESB Route using cJMS, or a Talend Job using tMOMinput.
I have posted examples at the sample project in TOS for ESB 5.1.1 here
http://eost.net/eost/quartzConsumer/JmsConsumer.zip
http://eost.net/eost/quartzConsumer/QuartzConsumer.zip
Anonymous
Not applicable

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.