Jul 11th, 2012, 01:54 AM
Batch strategy for a new project
The high level requirements are as follows:
I have an input table(INPUT) from which I should read data, send it to an external service for validation and update the validation response in an Output table. Based on the various samples, I have implemented this one.
But, the input table is in flat structure. i.e, for ex: a Student table which has multiple exam results for a student in a table. When I send it for validation, I have to retrieve all the records of a student and send it for validation.
One more issue is parallel processing. Hitting the external service will have some network latency and we would like to have parallel processing for reading, processing and writing or for processing and writing.
I would like to know about the feasible Readers, Writers and processors where this could be done.
Please help me.
Jul 12th, 2012, 06:47 PM
Reading an input table is easy with Spring Batch. Try the JdbcCursorItemReader.
What protocol is being using for the external service. Hopefully its rest (json) and not soap. You should be able to accomplish this in the with an ItemProcessor. Just implement the process method.
Chunk processing would allow to batch up some results before writing.
For the parallel processing I would put a cap on the concurrency just so you don't overload the external service.
Tags for this Thread