BATCH-1132:
*Updated parsers to handle 'parent' attribute of <step/>. *Attribute "parent" can be used on standalone and inline step declaration as well as with the 'tasklet' attribute. *To be consistent with treatment of listeners and tasklets, 'parent' can't be combined with 'ref' on <step/>.
This commit is contained in:
@@ -13,13 +13,17 @@
|
||||
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
|
||||
|
||||
<job id="skipJob" incrementer="incrementer">
|
||||
<step id="step1" ref="firstPass">
|
||||
<step id="step1" parent="baseStep">
|
||||
<tasklet reader="fileItemReader" processor="tradeProcessor" writer="tradeWriter"
|
||||
commit-interval="3" skip-limit="10">
|
||||
</tasklet>
|
||||
|
||||
<fail on="FAILED" exit-code="FAILED"/>
|
||||
<next on="COMPLETED WITH SKIPS" to="errorPrint1" />
|
||||
<next on="*" to="step2" />
|
||||
</step>
|
||||
|
||||
<step id="errorPrint1" next="step2" tasklet="errorLogTasklet"/>
|
||||
<step id="errorPrint1" tasklet="errorLogTasklet" next="step2"/>
|
||||
|
||||
<step id="step2" ref="secondPass" next="skipCheckingDecision"/>
|
||||
|
||||
@@ -31,18 +35,7 @@
|
||||
<step id="errorPrint2" tasklet="errorLogTasklet"/>
|
||||
</job>
|
||||
|
||||
<step id="firstPass" >
|
||||
<tasklet reader="fileItemReader" processor="tradeProcessor" writer="tradeWriter"
|
||||
commit-interval="3" skip-limit="10">
|
||||
</tasklet>
|
||||
|
||||
<listeners>
|
||||
<listener ref="skipCheckingListener"/>
|
||||
<listener ref="promotionListener"/>
|
||||
</listeners>
|
||||
</step>
|
||||
|
||||
<step id="secondPass">
|
||||
<step id="secondPass" parent="baseStep">
|
||||
<tasklet reader="tradeSqlItemReader" processor="tradeProcessor" writer="itemTrackingWriter"
|
||||
commit-interval="2" skip-limit="10">
|
||||
<skippable-exception-classes>
|
||||
@@ -50,22 +43,27 @@
|
||||
java.lang.RuntimeException
|
||||
</skippable-exception-classes>
|
||||
</tasklet>
|
||||
<listeners>
|
||||
<listener ref="skipCheckingListener"/>
|
||||
<listener ref="promotionListener"/>
|
||||
</listeners>
|
||||
</step>
|
||||
</step>
|
||||
|
||||
<beans:bean id="baseStep" abstract="true">
|
||||
<beans:property name="listeners">
|
||||
<beans:list>
|
||||
<beans:bean class="org.springframework.batch.core.listener.StepListenerFactoryBean">
|
||||
<beans:property name="delegate" ref="skipCheckingListener"/>
|
||||
</beans:bean>
|
||||
<beans:bean class="org.springframework.batch.core.listener.StepListenerFactoryBean">
|
||||
<beans:property name="delegate" ref="promotionListener"/>
|
||||
</beans:bean>
|
||||
</beans:list>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
|
||||
<beans:bean id="tradeProcessor" class="org.springframework.batch.sample.domain.trade.internal.TradeProcessor"/>
|
||||
|
||||
<beans:bean id="skipCheckingListener" class="org.springframework.batch.sample.common.SkipCheckingListener"/>
|
||||
|
||||
<beans:bean id="promotionListener" class="org.springframework.batch.core.listener.ExecutionContextPromotionListener">
|
||||
<beans:property name="keys">
|
||||
<beans:list>
|
||||
<beans:value>stepName</beans:value>
|
||||
</beans:list>
|
||||
</beans:property>
|
||||
<beans:property name="keys" value="stepName"/>
|
||||
</beans:bean>
|
||||
|
||||
<beans:bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
|
||||
|
||||
Reference in New Issue
Block a user