diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/jsr/partition/PartitionCollectorAdapter.java b/spring-batch-core/src/main/java/org/springframework/batch/core/jsr/partition/PartitionCollectorAdapter.java index bfe102be4..1677a721a 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/jsr/partition/PartitionCollectorAdapter.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/jsr/partition/PartitionCollectorAdapter.java @@ -54,7 +54,9 @@ public class PartitionCollectorAdapter implements ChunkListener { @Override public void afterChunk(ChunkContext context) { try { - partitionQueue.add(collector.collectPartitionData()); + synchronized (partitionQueue) { + partitionQueue.add(collector.collectPartitionData()); + } } catch (Throwable e) { throw new BatchRuntimeException("An error occured while collecting data from the PartionCollector", e); }