camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Taariq Levack <>
Subject Re: Camel Quartz Query
Date Thu, 26 Sep 2013 05:59:40 GMT

Can you use an idempotent consumer[1] before sending to the web service?

If you did have a sort of 'busy' status, you'd have to handle the situation
where records are left in that 'busy' state due to a JVM crash for example.


On Wed, Sep 25, 2013 at 5:20 PM, gilboy <> wrote:

> 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:
> Sent from the Camel - Users mailing list archive at

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message