Hi I have a quartz job(stateful) which wakes up every 60 seconds, pulls "unprocessed" records from a DB and sends each of them to a Web Service Endpoint. The Web Service call introduces a latency of approx .5 sec. Each time the quartz job fires there can be 100's of "unprocessed" records. Hence, after retrieving the records I iterate over the records via the splitter and I load balance(sticky - need to maintain order across subsets of the records) to 10 different seda queues. I then have 10 different routes which takes from each of the queues, transmits the message to the web service endpoint and then updates the record to be in a "processed" state.
However, with the above approach I could easily send duplicates to the web service endpoint because a record which is returned when the quartz job fires at time 0 could be sitting on one of the seda queues at time 60 when the quartz job fires again and hence it is still in an "unprocessed" state in the database as it only gets updated to "processed" when we get a response from the Web Service call. I could solve this by introducing a new interim status and have the DB update the "unprocessed" records to the new interim status but just wanted to check to see if there was any other way of solving this as I have less control over the DB Thanks Joe -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Quartz-Query-tp5740206.html Sent from the Camel - Users mailing list archive at Nabble.com.