How do I notify a Consumer job that Producer job is done?
楼主#更多 发布于：2016-05-16 10:53
Using Spring/Quartz, I have an ProducerJob that is run first. Then I have a ConsumerJob that must wait for the result of ProducerJob (which creates records in the DB). What's the best way for ConsumerJob to be notified of the results of ProducerJob? Should I let ConsumerJob to constantly check the database, and sleep/wait if ProducerJob is not yet done? I realize my question may be similar to Pass BlockingQueue in JobDataMap of Quartz, although no specific implementation was identified. Still not getting how this would be implemented though.
In the Producer/Consumer pattern the consumer has to wait for the data the producer prduces. If you want to decouple both using a database, the consumer has to poll. Yes. Another solution is to use a BlockingQueue and let the consumer write the database entries. This would reduce database load and is propably simpler to implement. And the producer is mutch faster, which is often a reason to use this pattern.