BATCH-1181: <step/> element always assumes the step is a TaskletStep

This commit is contained in:
dhgarrette
2009-03-26 04:42:19 +00:00
parent 69a6bf0751
commit 93b2754b7c
48 changed files with 654 additions and 505 deletions

View File

@@ -15,7 +15,9 @@
<job id="loopJob" incrementer="jobParametersIncrementer">
<step id="step1">
<tasklet reader="reader" writer="writer" commit-interval="3"/>
<tasklet>
<chunk-tasklet reader="reader" writer="writer" commit-interval="3"/>
</tasklet>
</step>
</job>
@@ -23,7 +25,7 @@
<beans:bean id="writer" class="org.springframework.batch.sample.common.InfiniteLoopWriter" />
<beans:bean id="jobParametersIncrementer"
class="org.springframework.batch.sample.common.InfiniteLoopIncrementer"/>
class="org.springframework.batch.sample.common.InfiniteLoopIncrementer"/>
<aop:config>
<aop:aspect ref="eventAdvice">

View File

@@ -10,10 +10,15 @@
<job id="beanWrapperMapperJob">
<step id="step1" next="step2">
<tasklet reader="tradeFileItemReader" processor="processor" writer="tradeWriter" commit-interval="1"></tasklet>
<tasklet>
<chunk-tasklet reader="tradeFileItemReader" processor="processor" writer="tradeWriter"
commit-interval="1"/>
</tasklet>
</step>
<step id="step2">
<tasklet reader="personFileItemReader" writer="personWriter" commit-interval="1"></tasklet>
<tasklet>
<chunk-tasklet reader="personFileItemReader" writer="personWriter" commit-interval="1"/>
</tasklet>
</step>
</job>

View File

@@ -17,12 +17,15 @@
<job id="compositeItemWriterJob">
<step id="step1">
<tasklet reader="fileItemReader" processor="processor" writer="compositeWriter" commit-interval="1">
<streams>
<stream ref="fileItemReader"/>
<stream ref="fileItemWriter1"/>
<stream ref="fileItemWriter2"/>
</streams>
<tasklet>
<chunk-tasklet reader="fileItemReader" processor="processor" writer="compositeWriter"
commit-interval="1">
<streams>
<stream ref="fileItemReader"/>
<stream ref="fileItemWriter1"/>
<stream ref="fileItemWriter2"/>
</streams>
</chunk-tasklet>
</tasklet>
</step>
</job>

View File

@@ -9,13 +9,15 @@
<job id="customerFilterJob">
<step id="uploadCustomer">
<tasklet reader="customerFileUploadReader"
processor="customerUpdateProcessor"
writer="customerUpdateWriter"
commit-interval="1"/>
<listeners>
<listener ref="customerTokenizer"/>
</listeners>
<tasklet>
<chunk-tasklet reader="customerFileUploadReader"
processor="customerUpdateProcessor"
writer="customerUpdateWriter"
commit-interval="1"/>
<listeners>
<listener ref="customerTokenizer"/>
</listeners>
</tasklet>
</step>
</job>

View File

@@ -19,7 +19,9 @@
<job id="delegateJob">
<step id="step1">
<tasklet reader="reader" writer="writer" commit-interval="1"/>
<tasklet>
<chunk-tasklet reader="reader" writer="writer" commit-interval="1"/>
</tasklet>
</step>
</job>

View File

@@ -13,19 +13,25 @@
<job id="footballJob">
<step id="playerload" next="gameLoad">
<tasklet reader="playerFileItemReader" writer="playerWriter"
commit-interval="${job.commit.interval}" />
<tasklet>
<chunk-tasklet reader="playerFileItemReader" writer="playerWriter"
commit-interval="${job.commit.interval}" />
</tasklet>
</step>
<step id="gameLoad" next="playerSummarization">
<tasklet reader="gameFileItemReader" writer="gameWriter"
commit-interval="${job.commit.interval}" />
<tasklet>
<chunk-tasklet reader="gameFileItemReader" writer="gameWriter"
commit-interval="${job.commit.interval}" />
</tasklet>
</step>
<step id="playerSummarization" parent="summarizationStep" />
</job>
<step id="summarizationStep">
<tasklet reader="playerSummarizationSource" writer="summaryWriter"
commit-interval="${job.commit.interval}" />
<tasklet>
<chunk-tasklet reader="playerSummarizationSource" writer="summaryWriter"
commit-interval="${job.commit.interval}" />
</tasklet>
</step>
<beans:bean id="playerWriter" class="org.springframework.batch.sample.domain.football.internal.PlayerItemWriter">

View File

@@ -14,16 +14,17 @@
<job id="headerFooterSample">
<step id="step1">
<tasklet reader="reader" writer="writer" commit-interval="3">
<streams>
<stream ref="reader"/>
<stream ref="writer"/>
</streams>
<tasklet>
<chunk-tasklet reader="reader" writer="writer" commit-interval="3">
<streams>
<stream ref="reader"/>
<stream ref="writer"/>
</streams>
</chunk-tasklet>
<listeners>
<listener ref="footerCallback"/>
</listeners>
</tasklet>
<listeners>
<listener ref="footerCallback"/>
</listeners>
</step>
</job>

View File

@@ -12,18 +12,21 @@
<job id="hibernateJob" restartable="false">
<step id="step1">
<tasklet reader="hibernateItemReader"
processor="creditIncreaseProcessor"
writer="hibernateCreditWriter"
skip-limit="5"
commit-interval="3"/>
<tasklet>
<chunk-tasklet reader="hibernateItemReader"
processor="creditIncreaseProcessor"
writer="hibernateCreditWriter"
skip-limit="5"
commit-interval="3"/>
</tasklet>
</step>
</job>
<beans:bean id="creditIncreaseProcessor" class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditIncreaseProcessor" />
<beans:bean id="creditIncreaseProcessor"
class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditIncreaseProcessor" />
<beans:bean id="hibernateCreditWriter"
class="org.springframework.batch.sample.domain.trade.internal.HibernateAwareCustomerCreditItemWriter">
class="org.springframework.batch.sample.domain.trade.internal.HibernateAwareCustomerCreditItemWriter">
<beans:property name="sessionFactory" ref="sessionFactory" />
<beans:property name="dao" ref="customerCreditDao" />
</beans:bean>

View File

@@ -15,7 +15,9 @@
<job id="ioSampleJob">
<step id="step1">
<tasklet reader="itemReader" processor="itemProcessor" writer="itemWriter" commit-interval="2"/>
<tasklet>
<chunk-tasklet reader="itemReader" processor="itemProcessor" writer="itemWriter" commit-interval="2"/>
</tasklet>
</step>
</job>

View File

@@ -15,7 +15,9 @@
<batch:job id="ioSampleJob">
<batch:step id="step1">
<batch:tasklet reader="itemReader" writer="itemWriter" commit-interval="2"/>
<batch:tasklet>
<batch:chunk-tasklet reader="itemReader" writer="itemWriter" commit-interval="2"/>
</batch:tasklet>
</batch:step>
</batch:job>

View File

@@ -15,7 +15,9 @@
<batch:job id="ioSampleJob">
<batch:step id="step1">
<batch:tasklet reader="itemReader" writer="itemWriter" commit-interval="2"/>
<batch:tasklet>
<batch:chunk-tasklet reader="itemReader" writer="itemWriter" commit-interval="2"/>
</batch:tasklet>
</batch:step>
</batch:job>

View File

@@ -13,17 +13,20 @@
<job id="loopFlowSample">
<step id="step1" next="step2">
<tasklet reader="itemGenerator" writer="itemWriter" commit-interval="1"/>
<listeners>
<listener ref="resettingListener"/>
</listeners>
<tasklet>
<chunk-tasklet reader="itemGenerator" writer="itemWriter" commit-interval="1"/>
<listeners>
<listener ref="resettingListener"/>
</listeners>
</tasklet>
</step>
<step id="step2" allow-start-if-complete="true" next="limitDecision">
<tasklet reader="itemGenerator" writer="itemWriter"
commit-interval="1"/>
<listeners>
<listener ref="resettingListener"/>
</listeners>
<step id="step2" next="limitDecision">
<tasklet allow-start-if-complete="true">
<chunk-tasklet reader="itemGenerator" writer="itemWriter" commit-interval="1"/>
<listeners>
<listener ref="resettingListener"/>
</listeners>
</tasklet>
</step>
<decision id="limitDecision" decider="limitDecider">
<next on="CONTINUE" to="step2" />

View File

@@ -12,10 +12,12 @@
<batch:job id="multilineJob">
<batch:step id="step1">
<batch:tasklet reader="reader" writer="writer" commit-interval="1">
<batch:streams>
<batch:stream ref="fileItemReader"/>
</batch:streams>
<batch:tasklet>
<batch:chunk-tasklet reader="reader" writer="writer" commit-interval="1">
<batch:streams>
<batch:stream ref="fileItemReader"/>
</batch:streams>
</batch:chunk-tasklet>
</batch:tasklet>
</batch:step>
</batch:job>

View File

@@ -14,11 +14,13 @@
<job id="multilineOrderJob">
<step id="step1">
<tasklet reader="reader" processor="processor" writer="fileItemWriter" commit-interval="5">
<streams>
<stream ref="fileItemWriter"/>
<stream ref="fileItemReader"/>
</streams>
<tasklet>
<chunk-tasklet reader="reader" processor="processor" writer="fileItemWriter" commit-interval="5">
<streams>
<stream ref="fileItemWriter"/>
<stream ref="fileItemReader"/>
</streams>
</chunk-tasklet>
</tasklet>
</step>
</job>

View File

@@ -13,17 +13,21 @@
<job id="parallelJob">
<step id="staging" next="loading">
<tasklet reader="fileItemReader"
processor="validatingProcessor"
writer="stagingItemWriter"
commit-interval="2"/>
<tasklet>
<chunk-tasklet reader="fileItemReader"
processor="validatingProcessor"
writer="stagingItemWriter"
commit-interval="2"/>
</tasklet>
</step>
<step id="loading">
<tasklet reader="stagingReader"
processor="stagingProcessor"
writer="tradeWriter"
commit-interval="1"
task-executor="taskExecutor"/>
<tasklet>
<chunk-tasklet reader="stagingReader"
processor="stagingProcessor"
writer="tradeWriter"
commit-interval="1"
task-executor="taskExecutor"/>
</tasklet>
</step>
</job>

View File

@@ -9,11 +9,10 @@
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
<bean id="partitionJob" class="org.springframework.batch.core.job.SimpleJob">
<property name="jobRepository" ref="jobRepository" />
<property name="steps" ref="step1:master"/>
</bean>
<batch:job id="partitionJob">
<batch:step id="step" parent="step1:master" />
</batch:job>
<bean name="step1:master" class="org.springframework.batch.core.partition.support.PartitionStep">
<property name="jobRepository" ref="jobRepository" />
<property name="stepExecutionSplitter">
@@ -37,11 +36,13 @@
</property>
</bean>
<batch:step id="step1" job-repository="jobRepository" transaction-manager="transactionManager">
<batch:tasklet writer="itemWriter" reader="itemReader" processor="itemProcessor" commit-interval="5" />
<batch:listeners>
<batch:listener ref="fileNameListener" />
</batch:listeners>
<batch:step id="step1">
<batch:tasklet job-repository="jobRepository" transaction-manager="transactionManager">
<batch:chunk-tasklet writer="itemWriter" reader="itemReader" processor="itemProcessor" commit-interval="5" />
<batch:listeners>
<batch:listener ref="fileNameListener" />
</batch:listeners>
</batch:tasklet>
</batch:step>
<bean id="fileNameListener" class="org.springframework.batch.sample.common.OutputFileListener" />

View File

@@ -10,10 +10,12 @@
<job id="restartSampleJob" restartable="true">
<step id="step1">
<tasklet reader="itemReader" processor="processor" writer="tradeWriter" commit-interval="2">
<streams>
<stream ref="fileItemReader" />
</streams>
<tasklet>
<chunk-tasklet reader="itemReader" processor="processor" writer="tradeWriter" commit-interval="2">
<streams>
<stream ref="fileItemReader" />
</streams>
</chunk-tasklet>
</tasklet>
</step>
</job>

View File

@@ -13,13 +13,15 @@
<job id="retrySample">
<step id="step1">
<tasklet reader="itemGenerator"
writer="itemWriter"
commit-interval="1"
retry-limit="3">
<retryable-exception-classes>
java.lang.Exception
</retryable-exception-classes>
<tasklet>
<chunk-tasklet reader="itemGenerator"
writer="itemWriter"
commit-interval="1"
retry-limit="3">
<retryable-exception-classes>
java.lang.Exception
</retryable-exception-classes>
</chunk-tasklet>
</tasklet>
</step>
</job>

View File

@@ -13,9 +13,11 @@
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<job id="skipJob" incrementer="incrementer">
<step id="step1" parent="baseStep">
<tasklet reader="fileItemReader" processor="tradeProcessor" writer="tradeWriter"
commit-interval="3" skip-limit="10">
<step id="step1" parent="baseStep">
<tasklet>
<chunk-tasklet reader="fileItemReader" processor="tradeProcessor" writer="tradeWriter"
commit-interval="3" skip-limit="10">
</chunk-tasklet>
</tasklet>
<next on="*" to="step2" />
@@ -23,7 +25,9 @@
<fail on="FAILED" exit-code="FAILED"/>
</step>
<step id="errorPrint1" tasklet="errorLogTasklet" next="step2"/>
<step id="errorPrint1" next="step2">
<tasklet ref="errorLogTasklet"/>
</step>
<step id="step2" parent="secondPass" next="skipCheckingDecision"/>
@@ -33,33 +37,41 @@
<fail on="FAILED" exit-code="FAILED"/>
</decision>
<step id="errorPrint2" tasklet="errorLogTasklet"/>
<step id="errorPrint2">
<tasklet ref="errorLogTasklet"/>
</step>
</job>
<step id="secondPass" parent="t2">
<tasklet writer="itemTrackingWriter">
<skippable-exception-classes merge="true">
java.lang.RuntimeException
</skippable-exception-classes>
<tasklet>
<chunk-tasklet writer="itemTrackingWriter">
<skippable-exception-classes merge="true">
java.lang.RuntimeException
</skippable-exception-classes>
</chunk-tasklet>
</tasklet>
</step>
<step id="t2" parent="t3" abstract="true"/>
<step id="t3" parent="baseStep" abstract="true">
<tasklet reader="tradeSqlItemReader" processor="tradeProcessor" writer="dummyWriter"
commit-interval="2" skip-limit="10">
<skippable-exception-classes>
org.springframework.batch.item.validator.ValidationException
</skippable-exception-classes>
<tasklet>
<chunk-tasklet reader="tradeSqlItemReader" processor="tradeProcessor" writer="dummyWriter"
commit-interval="2" skip-limit="10">
<skippable-exception-classes>
org.springframework.batch.item.validator.ValidationException
</skippable-exception-classes>
</chunk-tasklet>
</tasklet>
</step>
<step id="baseStep" abstract="true">
<listeners>
<listener class="org.springframework.batch.sample.common.SkipCheckingListener"/>
<listener ref="promotionListener"/>
</listeners>
<tasklet>
<listeners>
<listener class="org.springframework.batch.sample.common.SkipCheckingListener"/>
<listener ref="promotionListener"/>
</listeners>
</tasklet>
</step>
<beans:bean id="dummyWriter" class="org.springframework.batch.sample.support.DummyItemWriter"/>

View File

@@ -11,18 +11,25 @@
<job id="tradeJob">
<step id="step1" next="step2">
<tasklet reader="fileItemReader" processor="validatingProcessor" writer="tradeWriter" commit-interval="1">
<streams>
<stream ref="fileItemReader" />
</streams>
<tasklet>
<chunk-tasklet reader="fileItemReader" processor="validatingProcessor" writer="tradeWriter"
commit-interval="1">
<streams>
<stream ref="fileItemReader" />
</streams>
</chunk-tasklet>
<transaction-attributes isolation="READ_COMMITTED" />
</tasklet>
<transaction-attributes isolation="READ_COMMITTED" />
</step>
<step id="step2" next="step3">
<tasklet reader="tradeSqlItemReader" writer="customerWriter" commit-interval="1" />
<tasklet>
<chunk-tasklet reader="tradeSqlItemReader" writer="customerWriter" commit-interval="1" />
</tasklet>
</step>
<step id="step3">
<tasklet reader="customerSqlItemReader" writer="creditWriter" commit-interval="1" />
<tasklet>
<chunk-tasklet reader="customerSqlItemReader" writer="creditWriter" commit-interval="1" />
</tasklet>
</step>
</job>