Your processer still does 1 line at a time. Design it stupid so it just does 1 line, and stores no local state.
You would just make a step:
Read data from queue -> process data -> write to output queue
And multi-thread this step.
Look at the example "parallelJob.xml". You wrap your chunk like this
Code:
<step id="loading">
<tasklet task-executor="taskExecutor">
<chunk reader="stagingReader"
processor="stagingProcessor"
writer="tradeWriter"
commit-interval="1"/>
</tasklet>
And if that taskExecutoris a multi threaded taskExecutor.. it will multi-thread your step.