org.springframework.batch.item
Interface ItemWriter

All Known Implementing Classes:
AbstractItemStreamItemWriter, AbstractItemWriter, AbstractTransactionalResourceItemWriter, BatchSqlUpdateItemWriter, ChunkMessageChannelItemWriter, CompositeItemWriter, DelegatingItemWriter, ExampleItemWriter, FlatFileItemWriter, HibernateAwareItemWriter, ItemTransformerItemWriter, ItemWriterAdapter, MessageChannelItemWriter, PropertyExtractingDelegatingItemWriter, StaxEventItemWriter

public interface ItemWriter

Basic interface for generic output operations. Class implementing this interface will be responsible for serializing objects as necessary. Generally, it is responsibility of implementing class to decide which technology to use for mapping and how it should be configured.

Due to the nature of batch processing, it is expected that most writers will buffer output. A flush method is provided to the interface in order to ensure that any buffers can be flushed before a transaction is committed. Along the same lines, if a transaction has been rolled back, then the contents of any buffers should be thrown away.

Author:
Dave Syer, Lucas Ward

Method Summary
 void clear()
          Clear any buffers that are being held.
 void flush()
          Flush any buffers that are being held.
 void write(Object item)
          Process the supplied data element.
 

Method Detail

write

void write(Object item)
           throws Exception
Process the supplied data element. Will be called multiple times during a larger batch operation. Will not be called with null data in normal operation.

Throws:
Exception - if there are errors. If the writer is used inside a retry or a batch the framework will catch the exception and convert or rethrow it as appropriate.

flush

void flush()
           throws FlushFailedException
Flush any buffers that are being held. This will usually be performed prior to committing any transactions.

Throws:
FlushFailedException - in case of an error. If this exception is thrown the writer may be in an inconsistent state and manual intervention might be required to reconcile the data with persistent output.

clear

void clear()
           throws ClearFailedException
Clear any buffers that are being held. This will usually be performed prior to rolling back any transactions.

Throws:
ClearFailedException - in case of an error. If this exception is thrown the writer may be in an inconsistent state and manual intervention might be required to reconcile the data with persistent output.


Copyright © 2009 SpringSource. All Rights Reserved.