I have scenario where my Spring batch job is running every 3 mins.
Steps should be
- Each user's record should get executed parallel. Each user can have maximum of 150k records.
- Every user can have update and delete records. Update records should run before delete.
- Update/delete sets should run parallel on their own. But strictly all updates should complete before delete.
Can anyone suggest the best approach to achieve the parallelism at multiple levels and follow the order at update and delete level. I am looking something around Spring Async Executor Service, Parallel Streams and other Spring libraries. Rx, only if it gives some glaring performance which the above specified can't provide.