T - item typepublic class MultiResourceItemWriter<T> extends AbstractItemStreamItemWriter<T>
ResourceAwareItemWriterItemStream and creates a new output
resource when the count of items written in current resource exceeds
setItemCountLimitPerResource(int). Suffix creation can be customized
with setResourceSuffixCreator(ResourceSuffixCreator).
Note that new resources are created only at chunk boundaries i.e. the number
of items written into one resource is between the limit set by
setItemCountLimitPerResource(int) and (limit + chunk size).| Constructor and Description |
|---|
MultiResourceItemWriter() |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
No-op.
|
void |
open(ExecutionContext executionContext)
No-op.
|
void |
setDelegate(ResourceAwareItemWriterItemStream<? super T> delegate)
Delegate used for actual writing of the output.
|
void |
setItemCountLimitPerResource(int itemCountLimitPerResource)
After this limit is exceeded the next chunk will be written into newly
created resource.
|
void |
setResource(org.springframework.core.io.Resource resource)
Prototype for output resources.
|
void |
setResourceSuffixCreator(ResourceSuffixCreator suffixCreator)
Allows customization of the suffix of the created resources based on the
index.
|
void |
setSaveState(boolean saveState)
Indicates that the state of the reader will be saved after each commit.
|
void |
update(ExecutionContext executionContext)
Return empty
ExecutionContext. |
void |
write(java.util.List<? extends T> items)
Process the supplied data element.
|
getExecutionContextKey, setExecutionContextName, setNamepublic void write(java.util.List<? extends T> items) throws java.lang.Exception
ItemWriteritems - items to be writtenjava.lang.Exception - if there are errors. The framework will catch the
exception and convert or rethrow it as appropriate.public void setResourceSuffixCreator(ResourceSuffixCreator suffixCreator)
suffixCreator - ResourceSuffixCreator to be used by the writer.public void setItemCountLimitPerResource(int itemCountLimitPerResource)
itemCountLimitPerResource - int item threshold used to determine when a new
resource should be created.public void setDelegate(ResourceAwareItemWriterItemStream<? super T> delegate)
delegate - ResourceAwareItemWriterItemStream that will be used
to write the output.public void setResource(org.springframework.core.io.Resource resource)
setResourceSuffixCreator(ResourceSuffixCreator).resource - The prototype resource.public void setSaveState(boolean saveState)
saveState - true the state is saved.public void close()
throws ItemStreamException
ItemStreamSupportclose in interface ItemStreamclose in class ItemStreamSupportItemStreamExceptionItemStream.close()public void open(ExecutionContext executionContext) throws ItemStreamException
ItemStreamSupportopen in interface ItemStreamopen in class ItemStreamSupportexecutionContext - current step's ExecutionContext. Will be the
executionContext from the last run of the step on a restart.ItemStreamExceptionItemStream.open(ExecutionContext)public void update(ExecutionContext executionContext) throws ItemStreamException
ItemStreamSupportExecutionContext.update in interface ItemStreamupdate in class ItemStreamSupportexecutionContext - to be updatedItemStreamExceptionItemStream.update(ExecutionContext)