Class AsyncItemWriter<T>
java.lang.Object
org.springframework.batch.integration.async.AsyncItemWriter<T>
- All Implemented Interfaces:
ItemStream, ItemStreamWriter<Future<T>>, ItemWriter<Future<T>>
-
Constructor Summary
ConstructorsConstructorDescriptionAsyncItemWriter(ItemWriter<T> delegate) Create a new instance ofAsyncItemWriterwith the provided delegate. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()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.voidIn the processing of theFutures passed, nulls are not passed to the delegate since they are considered filtered out by theAsyncItemProcessor's delegatedItemProcessor.
-
Constructor Details
-
AsyncItemWriter
Create a new instance ofAsyncItemWriterwith the provided delegate.- Parameters:
delegate- the delegate item writer- Since:
- 6.0
-
-
Method Details
-
setDelegate
- Parameters:
delegate- ItemWriter that does the actual writing of the Future results
-
write
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:
Exception- The exception returned by the Future if one was thrown
-
open
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
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
Description 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
-