public class RepositoryItemWriter<T> extends java.lang.Object implements ItemWriter<T>, org.springframework.beans.factory.InitializingBean
A ItemWriter wrapper for a
CrudRepository from Spring Data.
By default, this writer will use CrudRepository.saveAll(Iterable)
to save items, unless another method is selected with setMethodName(java.lang.String).
It depends on CrudRepository.saveAll(Iterable)
method to store the items for the chunk. Performance will be determined by that
implementation more than this writer.
As long as the repository provided is thread-safe, this writer is also thread-safe once properties are set (normal singleton behavior), so it can be used in multiple concurrent transactions.
NOTE: The RepositoryItemWriter only stores Java Objects i.e. non primitives.
| Modifier and Type | Field and Description |
|---|---|
protected static org.apache.commons.logging.Log |
logger |
| Constructor and Description |
|---|
RepositoryItemWriter() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet()
Check mandatory properties - there must be a repository.
|
protected void |
doWrite(java.util.List<? extends T> items)
Performs the actual write to the repository.
|
void |
setMethodName(java.lang.String methodName)
Specifies what method on the repository to call.
|
void |
setRepository(org.springframework.data.repository.CrudRepository<T,?> repository)
Set the
CrudRepository implementation
for persistence |
void |
write(java.util.List<? extends T> items)
Write all items to the data store via a Spring Data repository.
|
public void setMethodName(java.lang.String methodName)
methodName - String containing the method name.public void setRepository(org.springframework.data.repository.CrudRepository<T,?> repository)
CrudRepository implementation
for persistencerepository - the Spring Data repository to be setpublic void write(java.util.List<? extends T> items) throws java.lang.Exception
write in interface ItemWriter<T>items - items to be writtenjava.lang.Exception - if there are errors. The framework will catch the
exception and convert or rethrow it as appropriate.ItemWriter.write(java.util.List)protected void doWrite(java.util.List<? extends T> items) throws java.lang.Exception
items - the list of items to be persisted.java.lang.Exception - thrown if error occurs during writing.public void afterPropertiesSet()
throws java.lang.Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanjava.lang.Exception