Files
spring-batch/build/reference-work/appendix.xml
Michael Minella 75ab909314 update
2017-03-23 10:18:33 -05:00

331 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<appendix id="listOfReadersAndWriters">
<title>List of ItemReaders and ItemWriters</title>
<section id="itemReadersAppendix">
<title>Item Readers</title>
<table>
<title>Available Item Readers</title>
<tgroup cols="2">
<colspec align="center" />
<thead>
<row>
<entry align="center">Item Reader</entry>
<entry align="center">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry
align="left">AbstractItemCountingItemStreamItemReader</entry>
<entry align="left">Abstract base class that provides basic
restart capabilities by counting the number of items returned from
an <classname>ItemReader</classname>.</entry>
</row>
<row>
<entry align="left">AggregateItemReader</entry>
<entry align="left">An ItemReader that delivers a list as its
item, storing up objects from the injected ItemReader until they
are ready to be packed out as a collection. This ItemReader should
mark the beginning and end of records with the constant values in
FieldSetMapper AggregateItemReader#<emphasis
role="bold">BEGIN_RECORD</emphasis> and
AggregateItemReader#<emphasis
role="bold">END_RECORD</emphasis></entry>
</row>
<row>
<entry align="left">AmqpItemReader</entry>
<entry align="left">Given a Spring AmqpTemplate it provides
synchronous receive methods. The receiveAndConvert() method
lets you receive POJO objects. </entry>
</row>
<row>
<entry align="left">FlatFileItemReader</entry>
<entry align="left">Reads from a flat file. Includes ItemStream
and Skippable functionality. See section on Read from a
File</entry>
</row>
<row>
<entry align="left">HibernateCursorItemReader</entry>
<entry align="left">Reads from a cursor based on an HQL query. See
section on Reading from a Database</entry>
</row>
<row>
<entry align="left">HibernatePagingItemReader</entry>
<entry align="left">Reads from a paginated HQL query</entry>
</row>
<row>
<entry align="left">IbatisPagingItemReader</entry>
<entry align="left">Reads via iBATIS based on a query. Pages
through the rows so that large datasets can be read without
running out of memory. See HOWTO - Read from a Database. This
ItemReader is now deprecated as of Spring Batch 3.0.</entry>
</row>
<row>
<entry align="left">ItemReaderAdapter</entry>
<entry align="left">Adapts any class to the
<classname>ItemReader</classname> interface.</entry>
</row>
<row>
<entry align="left">JdbcCursorItemReader</entry>
<entry align="left">Reads from a database cursor via JDBC. See
HOWTO - Read from a Database</entry>
</row>
<row>
<entry align="left">JdbcPagingItemReader</entry>
<entry align="left">Given a SQL statement, pages through the rows,
such that large datasets can be read without running out of
memory</entry>
</row>
<row>
<entry align="left">JmsItemReader</entry>
<entry align="left">Given a Spring JmsOperations object and a JMS
Destination or destination name to send errors, provides items
received through the injected JmsOperations receive()
method</entry>
</row>
<row>
<entry align="left">JpaPagingItemReader</entry>
<entry align="left">Given a JPQL statement, pages through the
rows, such that large datasets can be read without running out of
memory</entry>
</row>
<row>
<entry align="left">ListItemReader</entry>
<entry align="left">Provides the items from a list, one at a
time</entry>
</row>
<row>
<entry align="left">MongoItemReader</entry>
<entry align="left">Given a MongoOperations object and JSON based MongoDB
query, provides items received from the MongoOperations find method</entry>
</row>
<row>
<entry align="left">Neo4jItemReader</entry>
<entry align="left">Given a Neo4jOperations object and the components of a
Cyhper query, items are returned as the result of the Neo4jOperations.query
method</entry>
</row>
<row>
<entry align="left">RepositoryItemReader</entry>
<entry align="left">Given a Spring Data PagingAndSortingRepository object,
a Sort and the name of method to execute, returns items provided by the
Spring Data repository implementation</entry>
</row>
<row>
<entry align="left">StoredProcedureItemReader</entry>
<entry align="left">Reads from a database cursor resulting from the
execution of a database stored procedure. See HOWTO - Read from a
Database</entry>
</row>
<row>
<entry align="left">StaxEventItemReader</entry>
<entry align="left">Reads via StAX. See HOWTO - Read from a
File</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section id="itemWritersAppendix">
<title>Item Writers</title>
<table>
<title>Available Item Writers</title>
<tgroup cols="2">
<colspec align="center" />
<thead>
<row>
<entry align="center">Item Writer</entry>
<entry align="center">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left">AbstractItemStreamItemWriter</entry>
<entry align="left">Abstract base class that combines the
<classname>ItemStream</classname> and
<classname>ItemWriter</classname> interfaces.</entry>
</row>
<row>
<entry align="left">AmqpItemWriter</entry>
<entry align="left">Given a Spring AmqpTemplate it provides
for synchronous send method. The convertAndSend(Object)
method lets you send POJO objects. </entry>
</row>
<row>
<entry align="left">CompositeItemWriter</entry>
<entry align="left">Passes an item to the process method of each
in an injected <emphasis role="bold">List</emphasis> of <emphasis
role="bold">ItemWriter</emphasis> objects</entry>
</row>
<row>
<entry align="left">FlatFileItemWriter</entry>
<entry align="left">Writes to a flat file. Includes ItemStream and
Skippable functionality. See section on Writing to a File</entry>
</row>
<row>
<entry align="left">GemfireItemWriter</entry>
<entry align="left">Using a GemfireOperations object, items wre either written
or removed from the Gemfire instance based on the configuration of the delete
flag</entry>
</row>
<row>
<entry align="left">HibernateItemWriter</entry>
<entry align="left">This item writer is hibernate session aware
and handles some transaction-related work that a non-"hibernate
aware" item writer would not need to know about and then delegates
to another item writer to do the actual writing.</entry>
</row>
<row>
<entry align="left">IbatisBatchItemWriter</entry>
<entry align="left">Writes items in a batch using the iBatis API's
directly. This ItemWriter is deprecated as of Spring Batch 3.0.</entry>
</row>
<row>
<entry align="left">ItemWriterAdapter</entry>
<entry align="left">Adapts any class to the
<classname>ItemWriter</classname> interface.</entry>
</row>
<row>
<entry align="left">JdbcBatchItemWriter</entry>
<entry align="left">Uses batching features from a
<classname>PreparedStatement</classname>, if available, and can
take rudimentary steps to locate a failure during a
<methodname>flush</methodname>.</entry>
</row>
<row>
<entry align="left">JmsItemWriter</entry>
<entry align="left">Using a JmsOperations object, items are written
to the default queue via the JmsOperations.convertAndSend() method</entry>
</row>
<row>
<entry align="left">JpaItemWriter</entry>
<entry align="left">This item writer is JPA EntityManager aware
and handles some transaction-related work that a non-"jpa aware"
<classname>ItemWriter</classname> would not need to know about and
then delegates to another writer to do the actual writing.</entry>
</row>
<row>
<entry align="left">MimeMessageItemWriter</entry>
<entry align="left">Using Spring's JavaMailSender, items of type <classname>MimeMessage</classname>
are sent as mail messages</entry>
</row>
<row>
<entry align="left">MongoItemWriter</entry>
<entry align="left">Given a MongoOperations object, items are written
via the MongoOperations.save(Object) method. The actual write is delayed
until the last possible moment before the transaction commits.</entry>
</row>
<row>
<entry align="left">Neo4jItemWriter</entry>
<entry align="left">Given a Neo4jOperations object, items are persisted via the
save(Object) method or deleted via the delete(Object) per the
<classname>ItemWriter</classname>'s configuration</entry>
</row>
<row>
<entry align="left">PropertyExtractingDelegatingItemWriter</entry>
<entry align="left">Extends AbstractMethodInvokingDelegator
creating arguments on the fly. Arguments are created by retrieving
the values from the fields in the item to be processed (via a
SpringBeanWrapper) based on an injected array of field
name</entry>
</row>
<row>
<entry align="left">RepositoryItemWriter</entry>
<entry align="left">Given a Spring Data CrudRepository implementation,
items are saved via the method specified in the configuration.</entry>
</row>
<row>
<entry align="left">StaxEventItemWriter</entry>
<entry align="left">Uses an <emphasis
role="bold">ObjectToXmlSerializer</emphasis> implementation to
convert each item to XML and then writes it to an XML file using
StAX.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
</appendix>