The sentence "That way you can send an entire chunk to a Gateway, reducing Spring Batch's responsibilities to read items, group them and send out the chunk." is confusing to me.  Isn't Spring Batch doing all of that?  It's doing the reading, it's doing the grouping of them.  The only thing the ChunkMessageChannelItemWriter is doing is sending the items out and collecting the results, right?