Finish off RC1 release
This commit is contained in:
@@ -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>
|
||||
+---------------
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
135
src/site/apt/migration/2.0-m4-rc1.apt
Normal file
135
src/site/apt/migration/2.0-m4-rc1.apt
Normal 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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user