Spring batch is used for heavy read, writer and processing operation of particular step of a Job.
This job execution is different based on the different customers. Here we can use multithreaded step by providing follwowing configuration:
return stepBuilderFactory.get("processName")
.<Person, Person>chunk(3)
.faultTolerant()
.reader(itemReader)
.processor(itemProcessor)
.writer(itemWriter)
**.taskExecutor(threadPoolTaskExecutor)**
.throttleLimit(2)
.build();
Here our main bottleneck is that we need to call our downstream with specific TPS only (e.g. not more than 20 TPS).
Could you please suggest how can we can use sprint batch and other configuration to leverage it ? If there is one Job, 20 TPS can be given to one job. If there are multiple jobs, then it has to be shared across jobs.
Request to provide suggestion on how best we can handle Dynamic TPS handling.