0

I'm using spring batch composite item writer with four writers. To increase the performance I added task executor. In case on any exception the Skip count is not increasing.

public class ParallelCompositeWriter extends CompositeItemWriter<Object> {
@Setter
private List<ItemWriter<? super Object>> delegates;

@Setter
private TaskExecutor taskExecutor;

@Override
public void write(final List<? extends Object> item) throws Exception {
for (final ItemWriter<? super Object> writer : delegates) {
taskExecutor.execute(new Runnable()  {
@Override
public void run() {
try {
writer.write(item);
} catch (Throwable t) {
rethrow(t);
}   
}

private void rethrow(Throwable t) {
throw new IllegalStateException(t);
}       
});
}
}

@Override
public void setDelegates(List<ItemWriter<? super Object>> delegates) {
this.delegates = delegates;
super.setDelegates(delegates);
}
}

Thank you.

0 Answers0