Finish off RC1 release

This commit is contained in:
dsyer
2009-02-23 11:08:29 +00:00
parent 443c6dafeb
commit cefced1f29
34 changed files with 495 additions and 176 deletions

View File

@@ -57,7 +57,7 @@ Spring Batch Downloads
+---------------
<repository>
<id>spring-releases</id>
<name>Spring Portfolio Maven RELEASE Repository</name>
<name>Spring Maven RELEASE Repository</name>
<url>http://s3.amazonaws.com/maven.springframework.org/release</url>
</repository>
+---------------
@@ -111,7 +111,7 @@ Spring Batch Downloads
+---------------
<repository>
<id>spring-s3</id>
<name>Spring Portfolio Maven MILESTONE Repository</name>
<name>Spring Maven MILESTONE Repository</name>
<url>http://s3.amazonaws.com/maven.springframework.org/milestone</url>
</repository>
+---------------

View File

@@ -13,7 +13,7 @@ Introduction
Spring Batch provides reusable functions that are essential in processing large volumes of records, including logging/tracing, transaction management, job processing statistics, job restart, skip, and resource management. It also provides more advance technical services and features that will enable extremely high-volume and high performance batch jobs though optimization and partitioning techniques. Simple as well as complex, high-volume batch jobs can leverage the framework in a highly scalable manner to process significant volumes of information.
Spring Batch is part of the {{{http://www.springframework.org/projects}Spring Portfolio}}.
Spring Batch is part of {{{http://www.springframework.org/projects}Spring}}.
* Spring Batch Architecture

View File

@@ -0,0 +1,135 @@
Spring Batch 2.0.0.RC1 Release Notes
* Bug
* {{{http://jira.springframework.org/browse/BATCH-1089}BATCH-1089}} - Getting Started page should be updated
* {{{http://jira.springframework.org/browse/BATCH-1088}BATCH-1088}} - NamespaceHandler no handle all XML tags
* {{{http://jira.springframework.org/browse/BATCH-1087}BATCH-1087}} - ClassPathXmlJobRegistry does not accept patterns for resources
* {{{http://jira.springframework.org/browse/BATCH-1086}BATCH-1086}} - JdbcJobExecutionDao.getRunningJobExecutions() ignores jobName
* {{{http://jira.springframework.org/browse/BATCH-1085}BATCH-1085}} - Should adding next entities mean that the next attribute cannot be used?
* {{{http://jira.springframework.org/browse/BATCH-1084}BATCH-1084}} - Change "status" attribute of <end> and <fail> to "exit-code"
* {{{http://jira.springframework.org/browse/BATCH-1083}BATCH-1083}} - Use RowMapper instead of ParameterizedRowMapper for public API
* {{{http://jira.springframework.org/browse/BATCH-1082}BATCH-1082}} - If file reader is lenient about resource existing on startup, it should also check when it is closed
* {{{http://jira.springframework.org/browse/BATCH-1081}BATCH-1081}} - Add task-executor= to <split/>
* {{{http://jira.springframework.org/browse/BATCH-1080}BATCH-1080}} - make <tasklet> a top-level element
* {{{http://jira.springframework.org/browse/BATCH-1078}BATCH-1078}} - Maven Build - ClassNotFoundException: com.springsource.util.math.Sets
* {{{http://jira.springframework.org/browse/BATCH-1077}BATCH-1077}} - Update docs to reflect changes in statuses
* {{{http://jira.springframework.org/browse/Update}Update}} - docs to reflect changes in statuses
* {{{http://jira.springframework.org/browse/BATCH-1076}BATCH-1076}} - Add a test case to show how a <stop> can restart on the step it failed on
* {{{http://jira.springframework.org/browse/BATCH-1075}BATCH-1075}} - allow-start-if-complete and start-limit should be on <step/>, not <tasklet/>
* {{{http://jira.springframework.org/browse/BATCH-1073}BATCH-1073}} - on <step> element, "listeners" must be disallowed when "ref" attribute is specified
* {{{http://jira.springframework.org/browse/BATCH-1071}BATCH-1071}} - JobInterruptedException needs to be on the fatal list
* {{{http://jira.springframework.org/browse/BATCH-1070}BATCH-1070}} - Add 'strict' property to BeanWrapperFieldSetMapper to allow suppression of errors
* {{{http://jira.springframework.org/browse/BATCH-1069}BATCH-1069}} - Update docs to show top-level <step> element
* {{{http://jira.springframework.org/browse/BATCH-1068}BATCH-1068}} - Update samples to use <step> top-level element
* {{{http://jira.springframework.org/browse/BATCH-1067}BATCH-1067}} - Problems with the way 'split' element handles EndStates
* {{{http://jira.springframework.org/browse/BATCH-1066}BATCH-1066}} - Modify namespace so that if "next" attribute is used, then no transition elements will be allowed.
* {{{http://jira.springframework.org/browse/BATCH-1064}BATCH-1064}} - Namespace end transition names don't match their corresponding statuses
* {{{http://jira.springframework.org/browse/BATCH-1063}BATCH-1063}} - Fix image sizes
* {{{http://jira.springframework.org/browse/BATCH-1062}BATCH-1062}} - Add namespace declaration information to docs
* {{{http://jira.springframework.org/browse/BATCH-1061}BATCH-1061}} - FlowJob.getLastStepExecution() puts arguments into isLater() in the wrong order
* {{{http://jira.springframework.org/browse/BATCH-1059}BATCH-1059}} - BATCH_JOB_INSTANCE.JOB_KEY ignores Date milliseconds
* {{{http://jira.springframework.org/browse/BATCH-1057}BATCH-1057}} - Residual from 1.x left over in AbstractItemWriter
* {{{http://jira.springframework.org/browse/BATCH-1056}BATCH-1056}} - Proofread documentation
* {{{http://jira.springframework.org/browse/BATCH-1055}BATCH-1055}} - Add section on filtering to docs
* {{{http://jira.springframework.org/browse/BATCH-1054}BATCH-1054}} - Maven Build - incompatible bundle manifest version
* {{{http://jira.springframework.org/browse/BATCH-1053}BATCH-1053}} - Add getStep(String) to Job interface
* {{{http://jira.springframework.org/browse/BATCH-1052}BATCH-1052}} - Write Common Pattern section about SystemCommandTasklet
* {{{http://jira.springframework.org/browse/BATCH-1051}BATCH-1051}} - Write Common Pattern section about multi-line records
* {{{http://jira.springframework.org/browse/BATCH-1050}BATCH-1050}} - SimpleJobExplorer doesn't retrieve StepExecutions of running JobExecutions using MapStepExecutionDao
* {{{http://jira.springframework.org/browse/BATCH-1049}BATCH-1049}} - Add compile scope to spring-test in spring-batch-test
* {{{http://jira.springframework.org/browse/BATCH-1048}BATCH-1048}} - Add site docos for the Test project
* {{{http://jira.springframework.org/browse/BATCH-1047}BATCH-1047}} - CommandLineJobRunner should use JobOperator
* {{{http://jira.springframework.org/browse/BATCH-1043}BATCH-1043}} - Add chapter on scaling (partitioning, etc) to docs
* {{{http://jira.springframework.org/browse/BATCH-1041}BATCH-1041}} - Create section in documentation about launching from within a web container
* {{{http://jira.springframework.org/browse/BATCH-1040}BATCH-1040}} - Add cross referencing to documentation
* {{{http://jira.springframework.org/browse/BATCH-1037}BATCH-1037}} - Change namespace to set job-repository only on job
* {{{http://jira.springframework.org/browse/BATCH-1034}BATCH-1034}} - Add StepScope to application context automatically in the parser
* {{{http://jira.springframework.org/browse/BATCH-1030}BATCH-1030}} - FlowJob replays failed steps on restart, even if the failure did not fail the job
* {{{http://jira.springframework.org/browse/BATCH-1028}BATCH-1028}} - JdbcCursorItemReader driverSupportsAbsolute property defaults to false
* {{{http://jira.springframework.org/browse/BATCH-1027}BATCH-1027}} - PassThroughFieldExtractor should have a unit test
* {{{http://jira.springframework.org/browse/BATCH-1023}BATCH-1023}} - File writing related interfaces need more javadoc
* {{{http://jira.springframework.org/browse/BATCH-1013}BATCH-1013}} - Using the batch namespace, steps can't be defined outside of the "job" tag.
* {{{http://jira.springframework.org/browse/BATCH-1011}BATCH-1011}} - Need distinction between "stop" and "end" transitions?
* {{{http://jira.springframework.org/browse/BATCH-1010}BATCH-1010}} - StepFactoryBeans cleanup
* {{{http://jira.springframework.org/browse/BATCH-1008}BATCH-1008}} - Elements in namespace are order-dependent
* {{{http://jira.springframework.org/browse/BATCH-1000}BATCH-1000}} - Add timeout to TaskExecutorPartitionHandler
* {{{http://jira.springframework.org/browse/BATCH-955}BATCH-955}} - Update XML schema to be tooling friendly
* {{{http://jira.springframework.org/browse/BATCH-949}BATCH-949}} - JdbcCursorItemReader: property name for "mapper"?
* {{{http://jira.springframework.org/browse/BATCH-942}BATCH-942}} - Obvious JobLocator implementation
* {{{http://jira.springframework.org/browse/BATCH-909}BATCH-909}} - Turn off getWarnings() call in JdbcCursorItemReader when ignoreWarnings is true
* {{{http://jira.springframework.org/browse/BATCH-882}BATCH-882}} - Create section in documentation highlighting key changes between 1.x and 2.0
* {{{http://jira.springframework.org/browse/BATCH-851}BATCH-851}} - Remove DrivingQueryItemReader support in favor of PagingItemReaders
* {{{http://jira.springframework.org/browse/BATCH-819 Create}BATCH-819 Create}} - separate CI builds for artifacts in Maven Central and Enterprise Repository
* {{{http://jira.springframework.org/browse/BATCH-818 Create}BATCH-818 Create}} - and test ivy and maven files needed for build
* {{{http://jira.springframework.org/browse/BATCH-793}BATCH-793}} - Creating a new ApplicationContext per Job needs refactoring
* {{{http://jira.springframework.org/browse/BATCH-690}BATCH-690}} - Move drop table statements to separate script
* {{{http://jira.springframework.org/browse/BATCH-659}BATCH-659}} - unused classes deprecation/removal
* {{{http://jira.springframework.org/browse/BATCH-618}BATCH-618}} - DefaultJobParametersConverter does not parse parameters of type double
* {{{http://jira.springframework.org/browse/BATCH-583}BATCH-583}} - Figures missing from PDF docs

View File

@@ -44,18 +44,11 @@
processing needs.</para>
<mediaobject>
<imageobject role="fo">
<imagedata align="center"
fileref="images/spring-batch-reference-model.png"
format="PNG" />
</imageobject>
<imageobject role="html">
<imageobject>
<imagedata align="center"
fileref="images/spring-batch-reference-model.png"
format="PNG" scale="80" />
</imageobject>
<caption><para>Figure 2.1: Batch Stereotypes</para></caption>
</mediaobject>
@@ -221,6 +214,8 @@
<title>JobExecution properties</title>
<tgroup cols="2">
<colspec colname="c1" colwidth="*"/>
<colspec colname="c2" colwidth="4*"/>
<tbody>
<row>
<entry>status</entry>
@@ -591,6 +586,8 @@
<title>StepExecution properties</title>
<tgroup cols="2">
<colspec colname="c1" colwidth="*"/>
<colspec colname="c2" colwidth="4*"/>
<tbody>
<row>
<entry>status</entry>

View File

@@ -296,7 +296,77 @@
pairs, so it might contain a range of primary keys, or line numbers, or
the location of an input file. The remote <classname>Step</classname>
then normally binds to the context input using <literal>#{...}</literal>
placeholders (late binding in step scope).</para>
placeholders (late binding in step scope), as illustrated in the next
section.</para>
<para>The names of the step executions (the keys in the
<classname>Map</classname> returned by
<classname>Partitioner</classname>) need to be unique amongst the step
executions of a Job, but do not have any other specific requirements.
The easiest way to do this, and to make the names meaningful for users,
is to use a prefix+suffix naming convention, where the prefix is the
name of the step that is being executed (which itself is unique in the
<classname>Job</classname>), and the suffix is just a counter. There is
a <classname>SimplePartitioner</classname> in the framework that uses
this convention.</para>
</section>
<section>
<title>Binding Input Data to Steps</title>
<para>It is very efficient for the steps that are executed by the
PartitionHandler to have identical configuration, and for their input
parameters to be bound at runtime from the ExecutionContext. This is
easy to do with the StepScope feature of Spring Batch (covered in more
detail in the section on <xref linkend="late-binding" />). For example
if the <classname>Partitioner</classname> creates
<classname>ExecutionContext</classname> instances with an attribute key
<literal>fileName</literal>, pointing to a different file (or
directlory) for each step invocation, the
<classname>Partitioner</classname> output might look like this:</para>
<table>
<title>Example step execution name to execution context provided by
Partitioner targeting directory processing</title>
<tgroup cols="2">
<tbody>
<row>
<entry><emphasis role="bold">Step Execution Name
(key)</emphasis></entry>
<entry><emphasis role="bold">ExecutionContext
(value)</emphasis></entry>
</row>
<row>
<entry>filecopy:partition0</entry>
<entry>fileName=/home/data/one</entry>
</row>
<row>
<entry>filecopy:partition1</entry>
<entry>fileName=/home/data/two</entry>
</row>
<row>
<entry>filecopy:partition2</entry>
<entry>fileName=/home/data/three</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Then the file name can be bound to a step using late binding to
the execution context:</para>
<programlisting><![CDATA[ <bean id="itemReader" scope="step"
class="org.sfw...MultiResourceItemReader">
<property name="resource" value="]]><emphasis role="bold">#{stepExecutionContext.fileName}/*</emphasis><![CDATA["/>
</bean>]]></programlisting>
</section>
</section>
</chapter>
</chapter>

View File

@@ -1442,7 +1442,7 @@
</section>
</section>
<section>
<section id="late-binding" xreflabel="Late Binding">
<title>Late binding of Job and Step Attributes</title>
<para>Both the XML and Flat File examples above use the Spring
@@ -1520,7 +1520,7 @@
]]></programlisting>
<section>
<section id="step-scope">
<title>Step Scope</title>
<para>All of the late binding examples from above have a scope of "step"
@@ -1538,12 +1538,25 @@
to use late binding since the bean cannot actually be instantiated until
the <classname>Step</classname> starts, which allows the attributes to
be found. Because it is not part of the Spring container by default, it
must be added explicitly:</para>
must be added explicitly, either by using the <literal>batch</literal>
namespace: </para>
<programlisting><![CDATA[
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:batch="http://www.springframework.org/schema/batch"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="...">
...
</beans>
]]></programlisting>
<para>or by including a bean definition explicitly for the<classname>Step</classname> (but not both):</para>
<programlisting><![CDATA[
<bean class="org.springframework.batch.core.scope.StepScope" />
]]></programlisting>
</section>
</section>
</chapter>

View File

@@ -41,7 +41,12 @@
<item name="1.0.x" href="http://www.springframework.org/spring-batch/1.0.x/index.html"/>
<item name="1.1.x" href="http://www.springframework.org/spring-batch/1.1.x/index.html"/>
</menu>
<menu ref="modules"/>
<menu name="Modules" inherit="none">
<item name="Infrastructure" href="org.springframework.batch.infrastructure/index.html"/>
<item name="Core" href="org.springframework.batch.core/index.html"/>
<item name="Test" href="org.springframework.batch.test/index.html"/>
<item name="Samples" href="org.springframework.batch.samples/index.html"/>
</menu>
<menu ref="reports"/>
</body>
</project>