Class AsyncItemWriter<T>
- java.lang.Object
- org.springframework.batch.integration.async.AsyncItemWriter<T>
- All Implemented Interfaces:
ItemStream,ItemStreamWriter<java.util.concurrent.Future<T>>,ItemWriter<java.util.concurrent.Future<T>>,org.springframework.beans.factory.InitializingBean
public class AsyncItemWriter<T> extends java.lang.Object implements ItemStreamWriter<java.util.concurrent.Future<T>>, org.springframework.beans.factory.InitializingBean
Constructor Summary
Constructors Constructor Description AsyncItemWriter()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()voidclose()If any resources are needed for the stream to operate they need to be destroyed here.voidopen(ExecutionContext executionContext)Open the stream for the providedExecutionContext.voidsetDelegate(ItemWriter<T> delegate)voidupdate(ExecutionContext executionContext)Indicates that the execution context provided during open is about to be saved.voidwrite(java.util.List<? extends java.util.concurrent.Future<T>> items)In the processing of theFutures passed, nulls are not passed to the delegate since they are considered filtered out by theAsyncItemProcessor's delegatedItemProcessor.
Method Detail
afterPropertiesSet
public void afterPropertiesSet() throws java.lang.Exception- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
java.lang.Exception
setDelegate
public void setDelegate(ItemWriter<T> delegate)
- Parameters:
delegate- ItemWriter that does the actual writing of the Future results
write
public void write(java.util.List<? extends java.util.concurrent.Future<T>> items) throws java.lang.Exception
In the processing of theFutures passed, nulls are not passed to the delegate since they are considered filtered out by theAsyncItemProcessor's delegatedItemProcessor. If the unwrapping of theFutureresults in anExecutionException, that will be unwrapped and the cause will be thrown.- Specified by:
writein interfaceItemWriter<T>- Parameters:
items-Futures to be unwrapped and passed to the delegate- Throws:
java.lang.Exception- The exception returned by the Future if one was thrown
open
public void open(ExecutionContext executionContext) throws ItemStreamException
Description copied from interface:ItemStreamOpen the stream for the providedExecutionContext.- Specified by:
openin interfaceItemStream- Parameters:
executionContext- current step'sExecutionContext. Will be the executionContext from the last run of the step on a restart.- Throws:
ItemStreamException
update
public void update(ExecutionContext executionContext) throws ItemStreamException
Description copied from interface:ItemStreamIndicates that the execution context provided during open is about to be saved. If any state is remaining, but has not been put in the context, it should be added here.- Specified by:
updatein interfaceItemStream- Parameters:
executionContext- to be updated- Throws:
ItemStreamException
close
public void close() throws ItemStreamExceptionDescription copied from interface:ItemStreamIf any resources are needed for the stream to operate they need to be destroyed here. Once this method has been called all other methods (except open) may throw an exception.- Specified by:
closein interfaceItemStream- Throws:
ItemStreamException