IN PROGRESS - issue BATCH-476: samples cleanup

http://jira.springframework.org/browse/BATCH-476
This commit is contained in:
robokaso
2008-03-18 13:26:11 +00:00
parent 4a217a0611
commit 49c3a744e0
6 changed files with 207 additions and 223 deletions

View File

@@ -1,49 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<!-- The tasklet used in this job will run in an infinite loop. This is useful for testing graceful shutdown from
multiple environments. -->
<bean id="loopJob" parent="simpleJob">
<property name="steps">
<bean id="step1" parent="taskletStep">
<property name="tasklet">
<bean id="module"
class="org.springframework.batch.sample.tasklet.InfiniteLoopTasklet"/>
</property>
</bean>
</property>
</bean>
<bean id="logAdvice"
class="org.springframework.batch.sample.advice.MethodExecutionLogAdvice" />
<bean id="eventAdvice"
class="org.springframework.batch.sample.advice.MethodExecutionApplicationEventAdvice" />
<aop:config>
<aop:aspect ref="logAdvice">
<aop:after
pointcut="execution( * org.springframework.batch.sample..InfiniteLoopTasklet+.execute(..))"
method="doBasicLogging" />
</aop:aspect>
<aop:aspect ref="eventAdvice">
<aop:before
pointcut="execution( * org.springframework.batch..Step+.execute(..))"
method="before" />
<aop:after
pointcut="execution( * org.springframework.batch..Step+.execute(..))"
method="after" />
<aop:after-throwing throwing="t"
pointcut="execution( * org.springframework.batch..Step+.execute(..))"
method="onError" />
</aop:aspect>
</aop:config>
</beans>
<!-- The tasklet used in this job will run in an infinite loop. This is useful for testing graceful shutdown from
multiple environments. -->
<bean id="loopJob" parent="simpleJob">
<property name="steps">
<bean id="step1" parent="taskletStep">
<property name="tasklet">
<bean
class="org.springframework.batch.sample.tasklet.InfiniteLoopTasklet" />
</property>
</bean>
</property>
</bean>
<bean id="logAdvice"
class="org.springframework.batch.sample.advice.MethodExecutionLogAdvice" />
<bean id="eventAdvice"
class="org.springframework.batch.sample.advice.MethodExecutionApplicationEventAdvice" />
<aop:config>
<aop:aspect ref="logAdvice">
<aop:after
pointcut="execution( * org.springframework.batch.sample..InfiniteLoopTasklet+.execute(..))"
method="doBasicLogging" />
</aop:aspect>
<aop:aspect ref="eventAdvice">
<aop:before
pointcut="execution( * org.springframework.batch..Step+.execute(..))"
method="before" />
<aop:after
pointcut="execution( * org.springframework.batch..Step+.execute(..))"
method="after" />
<aop:after-throwing throwing="t"
pointcut="execution( * org.springframework.batch..Step+.execute(..))"
method="onError" />
</aop:aspect>
</aop:config>
</beans>

View File

@@ -13,12 +13,12 @@
<property name="steps">
<list>
<bean id="step1" parent="simpleStep">
<property name="streams" ref="fileInputTemplate" />
<property name="streams" ref="tradeFileItemReader" />
<property name="itemReader">
<bean
class="org.springframework.batch.item.validator.ValidatingItemReader">
<property name="itemReader"
ref="fileInputTemplate" />
ref="tradeFileItemReader" />
<property name="validator"
ref="fixedValidator" />
</bean>
@@ -32,7 +32,7 @@
</bean>
<bean id="step2" parent="simpleStep">
<property name="itemReader"
ref="fileInputTemplate2" />
ref="personFileItemReader" />
<property name="itemWriter">
<bean
class="org.springframework.batch.sample.item.writer.PersonWriter" />
@@ -45,28 +45,28 @@
<!-- INFRASTRUCTURE SETUP -->
<bean id="fileInputTemplate"
<bean id="tradeFileItemReader"
class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="resource" value="classpath:data/beanWrapperMapperSampleJob/input/20070122.teststream.ImportTradeDataStep.txt" />
<property name="lineTokenizer" ref="fixedFileDescriptor" />
<property name="fieldSetMapper" ref="fieldSetMapper" />
<property name="lineTokenizer" ref="tradeTokenizer" />
<property name="fieldSetMapper" ref="tradeFieldSetMapper" />
</bean>
<bean id="fileInputTemplate2"
<bean id="personFileItemReader"
class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="resource" value="classpath:data/beanWrapperMapperSampleJob/input/20070122.teststream.ImportPersonDataStep.txt" />
<property name="lineTokenizer" ref="fixedFileDescriptor2" />
<property name="fieldSetMapper" ref="fieldSetMapper2" />
<property name="lineTokenizer" ref="personTokenizer" />
<property name="fieldSetMapper" ref="personFieldSetMapper" />
<!-- <property name="validator" ref="fixedValidator" />-->
</bean>
<bean id="fixedFileDescriptor"
<bean id="tradeTokenizer"
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN,Quantity,price, CUSTOMER" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>
<bean id="fixedFileDescriptor2"
<bean id="personTokenizer"
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
<property name="names"
value="Title, FirstName, LastName, Age, Address.AddrLine1, children[0].name, children[1].name" />
@@ -100,12 +100,12 @@
</property>
</bean>
<bean id="fieldSetMapper"
<bean id="tradeFieldSetMapper"
class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
<property name="prototypeBeanName" value="trade" />
</bean>
<bean id="fieldSetMapper2"
<bean id="personFieldSetMapper"
class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
<property name="prototypeBeanName" value="person" />
</bean>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
@@ -12,55 +12,56 @@
<bean id="compositeProcessorJob" parent="simpleJob">
<property name="steps">
<bean id="step1" parent="simpleStep">
<property name="streams" ref="fileInputTemplate" />
<property name="streams" ref="fileItemReader" />
<property name="itemReader">
<bean
class="org.springframework.batch.item.validator.ValidatingItemReader">
<property name="itemReader"
ref="fileInputTemplate" />
<property name="validator" ref="fixedValidator" />
</bean>
</property>
<property name="itemWriter">
<bean
class="org.springframework.batch.item.support.CompositeItemWriter">
<property name="delegates">
<list>
<bean
class="org.springframework.batch.sample.item.writer.TradeWriter">
<property name="dao" ref="tradeDao" />
</bean>
<ref bean="flatFileOutputSource" />
</list>
</property>
</bean>
</property>
</bean>
</property>
</bean>
<!-- INFRASTRUCTURE SETUP -->
<bean id="fileInputTemplate"
class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="resource" ref="fileLocator" />
<property name="lineTokenizer" ref="fixedFileDescriptor" />
<property name="fieldSetMapper" ref="fieldSetMapper" />
</bean>
<bean id="fixedFileDescriptor"
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>
<bean id="fixedValidator"
class="org.springframework.batch.item.validator.SpringValidator">
<property name="validator">
<bean id="tradeValidator"
class="org.springmodules.validation.valang.ValangValidator">
<property name="valang">
<value>
<bean
class="org.springframework.batch.item.validator.ValidatingItemReader">
<property name="itemReader"
ref="fileItemReader" />
<property name="validator" ref="fixedValidator" />
</bean>
</property>
<property name="itemWriter">
<bean
class="org.springframework.batch.item.support.CompositeItemWriter">
<property name="delegates">
<list>
<bean
class="org.springframework.batch.sample.item.writer.TradeWriter">
<property name="dao" ref="tradeDao" />
</bean>
<ref bean="fileItemWriter" />
</list>
</property>
</bean>
</property>
</bean>
</property>
</bean>
<!-- INFRASTRUCTURE SETUP -->
<bean id="fileItemReader"
class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="resource"
value="classpath:data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
<property name="lineTokenizer" ref="fixedFileTokenizer" />
<property name="fieldSetMapper" ref="fieldSetMapper" />
</bean>
<bean id="fixedFileTokenizer"
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>
<bean id="fixedValidator"
class="org.springframework.batch.item.validator.SpringValidator">
<property name="validator">
<bean id="tradeValidator"
class="org.springmodules.validation.valang.ValangValidator">
<property name="valang">
<value>
<![CDATA[
{ isin : length(?) < 13 : 'ISIN too long' : 'isin_length' : 12}
]]>
@@ -70,39 +71,27 @@
</property>
</bean>
<bean id="tradeDao"
class="org.springframework.batch.sample.dao.JdbcTradeDao">
<property name="jdbcTemplate" ref="jdbcTemplate" />
<property name="incrementer">
<bean parent="incrementerParent">
<property name="incrementerName" value="TRADE_SEQ" />
</bean>
</property>
</bean>
<bean class="org.springframework.batch.item.file.FlatFileItemWriter"
id="flatFileOutputSource">
<property name="resource" ref="customerFileLocator" />
<property name="fieldSetCreator">
<bean
class="org.springframework.batch.item.file.mapping.PassThroughFieldSetMapper" />
</property>
</bean>
<bean id="customerFileLocator"
class="org.springframework.core.io.FileSystemResource">
<constructor-arg type="java.lang.String"
value="target/test-outputs/20070122.testStream.ParallelCustomerReportStep.TEMP.txt" />
</bean>
<bean id="fileLocator"
class="org.springframework.core.io.ClassPathResource">
<constructor-arg type="java.lang.String"
value="data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
</bean>
<bean id="fieldSetMapper"
class="org.springframework.batch.sample.mapping.TradeFieldSetMapper" />
<bean id="tradeDao"
class="org.springframework.batch.sample.dao.JdbcTradeDao">
<property name="jdbcTemplate" ref="jdbcTemplate" />
<property name="incrementer">
<bean parent="incrementerParent">
<property name="incrementerName" value="TRADE_SEQ" />
</bean>
</property>
</bean>
<bean class="org.springframework.batch.item.file.FlatFileItemWriter"
id="fileItemWriter">
<property name="resource" value="file:target/test-outputs/20070122.testStream.ParallelCustomerReportStep.TEMP.txt" />
<property name="fieldSetCreator">
<bean
class="org.springframework.batch.item.file.mapping.PassThroughFieldSetMapper" />
</property>
</bean>
<bean id="fieldSetMapper"
class="org.springframework.batch.sample.mapping.TradeFieldSetMapper" />
</beans>

View File

@@ -22,7 +22,7 @@
<bean
class="org.springframework.batch.item.adapter.ItemReaderAdapter">
<property name="targetObject"
ref="delegatingObject" />
ref="delegateObject" />
<property name="targetMethod" value="getData" />
</bean>
</property>
@@ -30,7 +30,7 @@
<bean
class="org.springframework.batch.item.adapter.PropertyExtractingDelegatingItemWriter">
<property name="targetObject"
ref="delegatingObject" />
ref="delegateObject" />
<property name="targetMethod"
value="processPerson" />
<property
@@ -46,7 +46,7 @@
</property>
</bean>
<bean id="delegatingObject"
<bean id="delegateObject"
class="org.springframework.batch.sample.domain.PersonService" />
</beans>

View File

@@ -1,62 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="fixedLengthImportJob" parent="simpleJob">
<property name="steps">
<bean id="step1" parent="simpleStep">
<property name="streams" ref="fileInputTemplate" />
<property name="streams" ref="fileItemReader" />
<property name="itemReader">
<bean
class="org.springframework.batch.item.validator.ValidatingItemReader">
<property name="itemReader"
ref="fileInputTemplate" />
<property name="validator" ref="fixedValidator" />
</bean>
</property>
<property name="itemWriter">
<bean
class="org.springframework.batch.sample.item.writer.TradeWriter">
<property name="dao" ref="tradeDao" />
</bean>
</property>
</bean>
</property>
</bean>
<!-- INFRASTRUCTURE SETUP -->
<!-- This input source is injected into the test case to verify the output - not used by the job at all -->
<bean id="testInputTemplate"
class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="resource" ref="fileLocator" />
<property name="lineTokenizer" ref="fixedFileDescriptor" />
<property name="fieldSetMapper" ref="fieldSetMapper" />
</bean>
<bean id="fileInputTemplate" parent="testInputTemplate"
autowire-candidate="false"/>
<bean id="fixedFileDescriptor"
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>
<bean id="fixedValidator"
class="org.springframework.batch.item.validator.SpringValidator">
<property name="validator">
<bean id="tradeValidator"
class="org.springmodules.validation.valang.ValangValidator">
<property name="valang">
<value>
<bean
class="org.springframework.batch.item.validator.ValidatingItemReader">
<property name="itemReader"
ref="fileItemReader" />
<property name="validator" ref="fixedValidator" />
</bean>
</property>
<property name="itemWriter">
<bean
class="org.springframework.batch.sample.item.writer.TradeWriter">
<property name="dao" ref="tradeDao" />
</bean>
</property>
</bean>
</property>
</bean>
<!-- INFRASTRUCTURE SETUP -->
<!-- This input source is injected into the test case to verify the output - not used by the job at all -->
<bean id="testItemReader"
class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="resource"
value="classpath:data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
<property name="lineTokenizer" ref="fixedFileTokenizer" />
<property name="fieldSetMapper" ref="fieldSetMapper" />
</bean>
<bean id="fileItemReader" parent="testItemReader"
autowire-candidate="false" />
<bean id="fixedFileTokenizer"
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
<property name="names" value="ISIN, Quantity, Price, Customer" />
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
</bean>
<bean id="fixedValidator"
class="org.springframework.batch.item.validator.SpringValidator">
<property name="validator">
<bean id="tradeValidator"
class="org.springmodules.validation.valang.ValangValidator">
<property name="valang">
<value>
<![CDATA[
{ isin : length(?) < 13 : 'ISIN too long' : 'isin_length' : 12}
]]>
@@ -66,24 +67,18 @@
</property>
</bean>
<bean id="tradeDao"
class="org.springframework.batch.sample.dao.JdbcTradeDao">
<property name="jdbcTemplate" ref="jdbcTemplate" />
<property name="incrementer">
<bean parent="incrementerParent">
<property name="incrementerName" value="TRADE_SEQ" />
</bean>
</property>
</bean>
<bean id="fileLocator"
class="org.springframework.core.io.ClassPathResource">
<constructor-arg type="java.lang.String"
value="data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
</bean>
<bean id="fieldSetMapper"
class="org.springframework.batch.sample.mapping.TradeFieldSetMapper" />
<bean id="tradeDao"
class="org.springframework.batch.sample.dao.JdbcTradeDao">
<property name="jdbcTemplate" ref="jdbcTemplate" />
<property name="incrementer">
<bean parent="incrementerParent">
<property name="incrementerName" value="TRADE_SEQ" />
</bean>
</property>
</bean>
<bean id="fieldSetMapper"
class="org.springframework.batch.sample.mapping.TradeFieldSetMapper" />
</beans>

View File

@@ -9,16 +9,16 @@
<import resource="data-source-context.xml" />
<bean id="jobConfigurationRegistryBeanPostProcessor"
<bean id="jobRegistryBeanPostProcessor"
class="org.springframework.batch.core.configuration.support.JobRegistryBeanPostProcessor">
<property name="jobRegistry" ref="jobConfigurationRegistry" />
<property name="jobRegistry" ref="jobRegistry" />
</bean>
<bean id="jobLauncher" class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
<property name="jobRepository" ref="jobRepository" />
</bean>
<bean id="jobConfigurationRegistry" class="org.springframework.batch.core.configuration.support.MapJobRegistry" />
<bean id="jobRegistry" class="org.springframework.batch.core.configuration.support.MapJobRegistry" />
<aop:config>
<aop:advisor pointcut="execution(* org.springframework.batch.execution..*Repository+.*(..))"