Spring Batch Loop Job

i'm trying to create a job that creates a list and then I try to to loop over that list with a certain step.

I have the following :

public Job myJob() {
return jobBuilderFactory.get("job")
.start(retrieveStep1())
.on("CONT").to(retriveStep2())
.from(retrieveStep1()).on("FIN")
.to(retriveStep3())
.end()
.build()
}

retrieveStep1() is a spring bean of a step in which: - I added a tasklet which creates the list and set the list to memory - A listener that removes the the first item from the list(). This returns 'CONT' if there is still items in the list and 'FIN' if the list is empty. The first item is set into memory

retreiveStep2() is a step in which i read process and write based on the items from the list.

Apparently It only executes the retriveStep2() one time and I'm facing the issue of making it to execute several times with values from the first retreiveStep1().

What am I missing here? or am I approching this the wrong way?