as long as it solves your problem 
I did not need the restart, because I want all my jobs re-runnable rather then restartable - just a general style - makes it easier on working with remote systems / complex flat files / non transactional resources / etc...
Also I would not invest too much in "DrivingQueryItemReader", since it is "no longer with us" in subsequent versions of spring batch.
But again, glad it is working for you,
-- litius
Humans are stateful and mutable beings that have no problems processing many things concurrently and share state with others + they are usually "coupled"