I am a newbie to SpringBatch, and need help with the following requirement:

1. Read from a database a collection of IDs
2. For each ID invoke an external API which returns a list.
3. Process each list and rewrite to the Database

* Each read/process/write of API should be a job execution, and eventually presented as a record in JOB_EXECUTION_ID

Thought of creating two jobs:

Job I.
1. Invoke an API with a specific ID which returns a list
2. Process the list and write to database

Job II.
1. Read from database a collection of IDs
2. Execute Job I. with each ID.

is this a correct approach? Is it possible to execute a Job within another Job?
which ItemReader should I use inorder to invoke the API?
will I be able to scale the model, meaning using multiple JVMs to process Job I. where Job II is the master?


thanks in advance,