RESOLVED - issue BATCH-1302: Tidy up samples - remove prefixes for namespaces like beans:
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="http://www.springframework.org/schema/beans"
|
||||
<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
|
||||
@@ -13,7 +13,7 @@
|
||||
<!-- The tasklet used in this job will run in an infinite loop. This is useful for testing graceful shutdown from
|
||||
multiple environments. -->
|
||||
|
||||
<job id="loopJob" incrementer="jobParametersIncrementer">
|
||||
<job id="loopJob" incrementer="jobParametersIncrementer" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="reader" writer="writer" commit-interval="3"/>
|
||||
@@ -21,10 +21,10 @@
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<beans:bean id="reader" class="org.springframework.batch.sample.common.InfiniteLoopReader" />
|
||||
<beans:bean id="writer" class="org.springframework.batch.sample.common.InfiniteLoopWriter" />
|
||||
<bean id="reader" class="org.springframework.batch.sample.common.InfiniteLoopReader" />
|
||||
<bean id="writer" class="org.springframework.batch.sample.common.InfiniteLoopWriter" />
|
||||
|
||||
<beans:bean id="jobParametersIncrementer"
|
||||
<bean id="jobParametersIncrementer"
|
||||
class="org.springframework.batch.sample.common.InfiniteLoopIncrementer"/>
|
||||
|
||||
<aop:config>
|
||||
@@ -41,4 +41,4 @@
|
||||
</aop:aspect>
|
||||
</aop:config>
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns:batch="http://www.springframework.org/schema/batch" xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
<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" xmlns="http://www.springframework.org/schema/beans"
|
||||
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/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch" xmlns:beans="http://www.springframework.org/schema/beans"
|
||||
<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="
|
||||
@@ -8,14 +8,14 @@
|
||||
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">
|
||||
|
||||
<beans:description>
|
||||
<description>
|
||||
<![CDATA[Sample showing usage of CompositeItemWriter.
|
||||
Note that when two writers of the same class are used simultaneously
|
||||
they need to be distinguished using the 'name' property
|
||||
(see the two FlatFileItemWriters used in this example).]]>
|
||||
</beans:description>
|
||||
</description>
|
||||
|
||||
<job id="compositeItemWriterJob">
|
||||
<job id="compositeItemWriterJob" xmlns="http://www.springframework.org/schema/batch" >
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="fileItemReader" processor="processor" writer="compositeWriter"
|
||||
@@ -32,78 +32,78 @@
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<beans:bean id="compositeWriter" class="org.springframework.batch.item.support.CompositeItemWriter">
|
||||
<beans:property name="delegates">
|
||||
<beans:list>
|
||||
<beans:bean class="org.springframework.batch.sample.domain.trade.internal.TradeWriter">
|
||||
<beans:property name="dao" ref="tradeDao" />
|
||||
</beans:bean>
|
||||
<beans:ref bean="fileItemWriter1" />
|
||||
<beans:ref bean="fileItemWriter2" />
|
||||
</beans:list>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="compositeWriter" class="org.springframework.batch.item.support.CompositeItemWriter">
|
||||
<property name="delegates">
|
||||
<list>
|
||||
<bean class="org.springframework.batch.sample.domain.trade.internal.TradeWriter">
|
||||
<property name="dao" ref="tradeDao" />
|
||||
</bean>
|
||||
<ref bean="fileItemWriter1" />
|
||||
<ref bean="fileItemWriter2" />
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="processor" class="org.springframework.batch.item.validator.ValidatingItemProcessor">
|
||||
<beans:constructor-arg ref="fixedValidator" />
|
||||
</beans:bean>
|
||||
<bean id="processor" class="org.springframework.batch.item.validator.ValidatingItemProcessor">
|
||||
<constructor-arg ref="fixedValidator" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<beans:property name="resource"
|
||||
<bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource"
|
||||
value="classpath:data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
|
||||
<beans:property name="lineMapper">
|
||||
<beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<beans:property name="lineTokenizer" ref="fixedFileTokenizer" />
|
||||
<beans:property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer" ref="fixedFileTokenizer" />
|
||||
<property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fixedFileTokenizer" class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<beans:property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<beans:property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</beans: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>
|
||||
|
||||
<beans:bean id="fixedValidator" class="org.springframework.batch.item.validator.SpringValidator">
|
||||
<beans:property name="validator">
|
||||
<beans:bean id="tradeValidator" class="org.springmodules.validation.valang.ValangValidator">
|
||||
<beans:property name="valang">
|
||||
<beans:value>
|
||||
<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}
|
||||
]]>
|
||||
</beans:value>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeDao" class="org.springframework.batch.sample.domain.trade.internal.JdbcTradeDao">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
<beans:property name="incrementer">
|
||||
<beans:bean parent="incrementerParent">
|
||||
<beans:property name="incrementerName" value="TRADE_SEQ" />
|
||||
</beans:bean>
|
||||
<bean id="tradeDao" class="org.springframework.batch.sample.domain.trade.internal.JdbcTradeDao">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName" value="TRADE_SEQ" />
|
||||
</bean>
|
||||
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fileItemWriter1" class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<beans:property name="name" value="fw1" />
|
||||
<beans:property name="resource" value="file:target/test-outputs/CustomerReport1.txt" />
|
||||
<beans:property name="lineAggregator">
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="fileItemWriter1" class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<property name="name" value="fw1" />
|
||||
<property name="resource" value="file:target/test-outputs/CustomerReport1.txt" />
|
||||
<property name="lineAggregator">
|
||||
<bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fileItemWriter2" class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<beans:property name="name" value="fw2" />
|
||||
<beans:property name="resource" value="file:target/test-outputs/CustomerReport2.txt" />
|
||||
<beans:property name="lineAggregator">
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="fileItemWriter2" class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<property name="name" value="fw2" />
|
||||
<property name="resource" value="file:target/test-outputs/CustomerReport2.txt" />
|
||||
<property name="lineAggregator">
|
||||
<bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fieldSetMapper" class="org.springframework.batch.sample.domain.trade.internal.TradeFieldSetMapper" />
|
||||
<bean id="fieldSetMapper" class="org.springframework.batch.sample.domain.trade.internal.TradeFieldSetMapper" />
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
@@ -1,69 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:lang="http://www.springframework.org/schema/lang"
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:lang="http://www.springframework.org/schema/lang"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
|
||||
http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd">
|
||||
|
||||
<job id="customerFilterJob">
|
||||
<job id="customerFilterJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="uploadCustomer">
|
||||
<tasklet>
|
||||
<chunk reader="customerFileUploadReader"
|
||||
processor="customerUpdateProcessor"
|
||||
writer="customerUpdateWriter"
|
||||
commit-interval="1"/>
|
||||
<chunk reader="customerFileUploadReader" processor="customerUpdateProcessor"
|
||||
writer="customerUpdateWriter" commit-interval="1" />
|
||||
<listeners>
|
||||
<listener ref="customerTokenizer"/>
|
||||
<listener ref="customerTokenizer" />
|
||||
</listeners>
|
||||
</tasklet>
|
||||
</tasklet>
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<beans:bean id="customerUpdateWriter" class="org.springframework.batch.sample.domain.trade.CustomerUpdateWriter" >
|
||||
<beans:property name="customerDao" ref="customerDao" />
|
||||
</beans:bean>
|
||||
|
||||
<beans:bean name="customerFileUploadReader" class="org.springframework.batch.item.file.FlatFileItemReader" >
|
||||
<beans:property name="resource" ref="customerFileResource" />
|
||||
<beans:property name="lineMapper">
|
||||
<beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper" >
|
||||
<beans:property name="lineTokenizer" ref="customerTokenizer" />
|
||||
<beans:property name="fieldSetMapper" ref="customerMapper" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
<bean id="customerUpdateWriter"
|
||||
class="org.springframework.batch.sample.domain.trade.CustomerUpdateWriter">
|
||||
<property name="customerDao" ref="customerDao" />
|
||||
</bean>
|
||||
|
||||
<bean name="customerFileUploadReader"
|
||||
class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource" ref="customerFileResource" />
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer" ref="customerTokenizer" />
|
||||
<property name="fieldSetMapper" ref="customerMapper" />
|
||||
</bean>
|
||||
</property>
|
||||
<!-- skip the header -->
|
||||
<beans:property name="linesToSkip" value="1" />
|
||||
</beans:bean>
|
||||
|
||||
<beans:bean name="customerMapper" class="org.springframework.batch.sample.domain.trade.CustomerUpdateFieldSetMapper" />
|
||||
|
||||
<beans:bean name="customerTokenizer" class="org.springframework.batch.sample.domain.trade.CompositeCustomerUpdateLineTokenizer" >
|
||||
<beans:property name="customerTokenizer">
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.FixedLengthTokenizer" >
|
||||
<beans:property name="columns" value="1,2-18,19-26" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
<beans:property name="footerTokenizer" >
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<beans:property name="columns" value="1,2-8" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
|
||||
<beans:bean name="customerUpdateProcessor" class="org.springframework.batch.sample.domain.trade.CustomerUpdateProcessor" >
|
||||
<beans:property name="customerDao" ref="customerDao" />
|
||||
<beans:property name="invalidCustomerLogger" >
|
||||
<beans:bean class="org.springframework.batch.sample.domain.trade.internal.CommonsLoggingInvalidCustomerLogger" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
|
||||
<beans:bean name="customerDao" class="org.springframework.batch.sample.domain.trade.internal.JdbcCustomerDao" >
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
</beans:bean>
|
||||
|
||||
<beans:bean name="customerFileResource" class="org.springframework.core.io.ClassPathResource" >
|
||||
<beans:constructor-arg value="data/customerFilterJob/input/customers.txt" />
|
||||
</beans:bean>
|
||||
</beans:beans>
|
||||
<property name="linesToSkip" value="1" />
|
||||
</bean>
|
||||
|
||||
<bean name="customerMapper"
|
||||
class="org.springframework.batch.sample.domain.trade.CustomerUpdateFieldSetMapper" />
|
||||
|
||||
<bean name="customerTokenizer"
|
||||
class="org.springframework.batch.sample.domain.trade.CompositeCustomerUpdateLineTokenizer">
|
||||
<property name="customerTokenizer">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<property name="columns" value="1,2-18,19-26" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="footerTokenizer">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<property name="columns" value="1,2-8" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean name="customerUpdateProcessor"
|
||||
class="org.springframework.batch.sample.domain.trade.CustomerUpdateProcessor">
|
||||
<property name="customerDao" ref="customerDao" />
|
||||
<property name="invalidCustomerLogger">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.domain.trade.internal.CommonsLoggingInvalidCustomerLogger" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean name="customerDao"
|
||||
class="org.springframework.batch.sample.domain.trade.internal.JdbcCustomerDao">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<bean name="customerFileResource" class="org.springframework.core.io.ClassPathResource">
|
||||
<constructor-arg value="data/customerFilterJob/input/customers.txt" />
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="http://www.springframework.org/schema/beans"
|
||||
<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"
|
||||
@@ -11,13 +10,13 @@
|
||||
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">
|
||||
|
||||
<beans:description>
|
||||
<description>
|
||||
The intent is to to give an example of how existing bean
|
||||
definitions (e.g. from custom application's domain layer) can be
|
||||
integrated into a batch job.
|
||||
</beans:description>
|
||||
</description>
|
||||
|
||||
<job id="delegateJob">
|
||||
<job id="delegateJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="reader" writer="writer" commit-interval="1"/>
|
||||
@@ -25,22 +24,22 @@
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<beans:bean id="reader" class="org.springframework.batch.item.adapter.ItemReaderAdapter">
|
||||
<beans:property name="targetObject" ref="delegateObject" />
|
||||
<beans:property name="targetMethod" value="getData" />
|
||||
</beans:bean>
|
||||
<bean id="reader" class="org.springframework.batch.item.adapter.ItemReaderAdapter">
|
||||
<property name="targetObject" ref="delegateObject" />
|
||||
<property name="targetMethod" value="getData" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="writer" class="org.springframework.batch.item.adapter.PropertyExtractingDelegatingItemWriter">
|
||||
<beans:property name="targetObject" ref="delegateObject" />
|
||||
<beans:property name="targetMethod" value="processPerson" />
|
||||
<beans:property name="fieldsUsedAsTargetMethodArguments">
|
||||
<beans:list>
|
||||
<beans:value>firstName</beans:value>
|
||||
<beans:value>address.city</beans:value>
|
||||
</beans:list>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="writer" class="org.springframework.batch.item.adapter.PropertyExtractingDelegatingItemWriter">
|
||||
<property name="targetObject" ref="delegateObject" />
|
||||
<property name="targetMethod" value="processPerson" />
|
||||
<property name="fieldsUsedAsTargetMethodArguments">
|
||||
<list>
|
||||
<value>firstName</value>
|
||||
<value>address.city</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="delegateObject" class="org.springframework.batch.sample.domain.person.PersonService" />
|
||||
<bean id="delegateObject" class="org.springframework.batch.sample.domain.person.PersonService" />
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
@@ -1,17 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="http://www.springframework.org/schema/beans"
|
||||
<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
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
|
||||
http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-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">
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<job id="footballJob">
|
||||
<job id="footballJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="playerload" next="gameLoad">
|
||||
<tasklet>
|
||||
<chunk reader="playerFileItemReader" writer="playerWriter"
|
||||
@@ -27,77 +23,77 @@
|
||||
<step id="playerSummarization" parent="summarizationStep" />
|
||||
</job>
|
||||
|
||||
<step id="summarizationStep">
|
||||
<step id="summarizationStep" xmlns="http://www.springframework.org/schema/batch">
|
||||
<tasklet>
|
||||
<chunk reader="playerSummarizationSource" writer="summaryWriter"
|
||||
commit-interval="${job.commit.interval}" />
|
||||
</tasklet>
|
||||
</step>
|
||||
|
||||
<beans:bean id="playerWriter" class="org.springframework.batch.sample.domain.football.internal.PlayerItemWriter">
|
||||
<beans:property name="playerDao">
|
||||
<beans:bean class="org.springframework.batch.sample.domain.football.internal.JdbcPlayerDao">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="playerWriter" class="org.springframework.batch.sample.domain.football.internal.PlayerItemWriter">
|
||||
<property name="playerDao">
|
||||
<bean class="org.springframework.batch.sample.domain.football.internal.JdbcPlayerDao">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="gameWriter" class="org.springframework.batch.sample.domain.football.internal.JdbcGameDao">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
</beans:bean>
|
||||
<bean id="gameWriter" class="org.springframework.batch.sample.domain.football.internal.JdbcGameDao">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="summaryWriter" class="org.springframework.batch.sample.domain.football.internal.JdbcPlayerSummaryDao">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
</beans:bean>
|
||||
<bean id="summaryWriter" class="org.springframework.batch.sample.domain.football.internal.JdbcPlayerSummaryDao">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="playerFileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<beans:property name="resource" value="classpath:data/footballjob/input/${player.file.name}" />
|
||||
<beans:property name="lineMapper">
|
||||
<beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<beans:property name="lineTokenizer">
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<beans:property name="names" value="ID,lastName,firstName,position,birthYear,debutYear" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
<beans:property name="fieldSetMapper">
|
||||
<beans:bean class="org.springframework.batch.sample.domain.football.internal.PlayerFieldSetMapper" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="playerFileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource" value="classpath:data/footballjob/input/${player.file.name}" />
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer">
|
||||
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<property name="names" value="ID,lastName,firstName,position,birthYear,debutYear" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="fieldSetMapper">
|
||||
<bean class="org.springframework.batch.sample.domain.football.internal.PlayerFieldSetMapper" />
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="gameFileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<beans:property name="resource" value="classpath:data/footballjob/input/${games.file.name}" />
|
||||
<beans:property name="lineMapper">
|
||||
<beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<beans:property name="lineTokenizer">
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<beans:property name="names" value="id,year,team,week,opponent,completes,attempts,passingYards,passingTd,interceptions,rushes,rushYards,receptions,receptionYards,totalTd" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
<beans:property name="fieldSetMapper">
|
||||
<beans:bean class="org.springframework.batch.sample.domain.football.internal.GameFieldSetMapper" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="gameFileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource" value="classpath:data/footballjob/input/${games.file.name}" />
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer">
|
||||
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<property name="names" value="id,year,team,week,opponent,completes,attempts,passingYards,passingTd,interceptions,rushes,rushYards,receptions,receptionYards,totalTd" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="fieldSetMapper">
|
||||
<bean class="org.springframework.batch.sample.domain.football.internal.GameFieldSetMapper" />
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="playerSummarizationSource" class="org.springframework.batch.item.database.JdbcCursorItemReader">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
<beans:property name="rowMapper">
|
||||
<beans:bean class="org.springframework.batch.sample.domain.football.internal.PlayerSummaryMapper" />
|
||||
</beans:property>
|
||||
<beans:property name="sql">
|
||||
<beans:value>
|
||||
<bean id="playerSummarizationSource" class="org.springframework.batch.item.database.JdbcCursorItemReader">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="rowMapper">
|
||||
<bean class="org.springframework.batch.sample.domain.football.internal.PlayerSummaryMapper" />
|
||||
</property>
|
||||
<property name="sql">
|
||||
<value>
|
||||
SELECT games.player_id, games.year_no, SUM(COMPLETES),
|
||||
SUM(ATTEMPTS), SUM(PASSING_YARDS), SUM(PASSING_TD),
|
||||
SUM(INTERCEPTIONS), SUM(RUSHES), SUM(RUSH_YARDS),
|
||||
SUM(RECEPTIONS), SUM(RECEPTIONS_YARDS), SUM(TOTAL_TD)
|
||||
from games, players where players.player_id =
|
||||
games.player_id group by games.player_id, games.year_no
|
||||
</beans:value>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<aop:config>
|
||||
<aop:aspect id="moduleLogging" ref="logAdvice">
|
||||
@@ -118,17 +114,17 @@
|
||||
</aop:aspect>
|
||||
</aop:config>
|
||||
|
||||
<beans:bean id="footballProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
|
||||
<beans:property name="properties">
|
||||
<beans:value>
|
||||
<bean id="footballProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
|
||||
<property name="properties">
|
||||
<value>
|
||||
games.file.name=games-small.csv
|
||||
player.file.name=player-small1.csv
|
||||
job.commit.interval=2
|
||||
</beans:value>
|
||||
</beans:property>
|
||||
<beans:property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
|
||||
<beans:property name="ignoreUnresolvablePlaceholders" value="true" />
|
||||
<beans:property name="order" value="1" />
|
||||
</beans:bean>
|
||||
</value>
|
||||
</property>
|
||||
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
|
||||
<property name="ignoreUnresolvablePlaceholders" value="true" />
|
||||
<property name="order" value="1" />
|
||||
</bean>
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
@@ -1,13 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns:batch="http://www.springframework.org/schema/batch"
|
||||
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" xmlns:lang="http://www.springframework.org/schema/lang"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
|
||||
http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:lang="http://www.springframework.org/schema/lang"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
|
||||
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd">
|
||||
|
||||
<job id="tradeJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="unzip-step" next="zip-step">
|
||||
@@ -17,25 +14,29 @@
|
||||
<tasklet ref="zip" />
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<bean id="unzip" class="org.springframework.batch.core.step.tasklet.MethodInvokingTaskletAdapter" scope="step">
|
||||
<property name="targetObject" ref="unzip-script"/>
|
||||
<property name="targetMethod" value="execute"/>
|
||||
|
||||
<bean id="unzip"
|
||||
class="org.springframework.batch.core.step.tasklet.MethodInvokingTaskletAdapter"
|
||||
scope="step">
|
||||
<property name="targetObject" ref="unzip-script" />
|
||||
<property name="targetMethod" value="execute" />
|
||||
</bean>
|
||||
|
||||
<bean id="zip" class="org.springframework.batch.core.step.tasklet.MethodInvokingTaskletAdapter" scope="step">
|
||||
<property name="targetObject" ref="zip-script"/>
|
||||
<property name="targetMethod" value="execute"/>
|
||||
<bean id="zip"
|
||||
class="org.springframework.batch.core.step.tasklet.MethodInvokingTaskletAdapter"
|
||||
scope="step">
|
||||
<property name="targetObject" ref="zip-script" />
|
||||
<property name="targetMethod" value="execute" />
|
||||
</bean>
|
||||
|
||||
<lang:groovy id="unzip-script">
|
||||
<lang:inline-script>
|
||||
class UnzipTasklet {
|
||||
void execute() {
|
||||
def ant = new AntBuilder()
|
||||
ant.unzip(src:"src/main/resources/data/groovyJob/input/files.zip",
|
||||
dest:"target/groovyJob/staging")
|
||||
}
|
||||
void execute() {
|
||||
def ant = new AntBuilder()
|
||||
ant.unzip(src:"src/main/resources/data/groovyJob/input/files.zip",
|
||||
dest:"target/groovyJob/staging")
|
||||
}
|
||||
}
|
||||
</lang:inline-script>
|
||||
</lang:groovy>
|
||||
@@ -43,12 +44,12 @@
|
||||
<lang:groovy id="zip-script">
|
||||
<lang:inline-script>
|
||||
class ZipTasklet {
|
||||
void execute() {
|
||||
def ant = new AntBuilder()
|
||||
ant.mkdir(dir:"target/groovyJob/output")
|
||||
ant.zip(destfile:"target/groovyJob/output/files.zip",
|
||||
basedir:"target/groovyJob/staging", includes:"**")
|
||||
}
|
||||
void execute() {
|
||||
def ant = new AntBuilder()
|
||||
ant.mkdir(dir:"target/groovyJob/output")
|
||||
ant.zip(destfile:"target/groovyJob/output/files.zip",
|
||||
basedir:"target/groovyJob/staging", includes:"**")
|
||||
}
|
||||
}
|
||||
</lang:inline-script>
|
||||
</lang:groovy>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="http://www.springframework.org/schema/beans"
|
||||
<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="
|
||||
@@ -8,11 +7,11 @@
|
||||
http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-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">
|
||||
<beans:description>
|
||||
<description>
|
||||
Showcases reading and writing of headers and footers. Copies header from input to output and adds a footer.
|
||||
</beans:description>
|
||||
</description>
|
||||
|
||||
<job id="headerFooterSample">
|
||||
<job id="headerFooterSample" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="reader" writer="writer" commit-interval="3">
|
||||
@@ -28,43 +27,43 @@
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<beans:bean id="reader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<beans:property name="resource" ref="inputResource" />
|
||||
<beans:property name="lineMapper">
|
||||
<beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<beans:property name="lineTokenizer">
|
||||
<beans:bean
|
||||
<bean id="reader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource" ref="inputResource" />
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<beans:property name="delimiter" value="," />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
<beans:property name="fieldSetMapper">
|
||||
<beans:bean
|
||||
<property name="delimiter" value="," />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="fieldSetMapper">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.mapping.PassThroughFieldSetMapper" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
<beans:property name="skippedLinesCallback" ref="headerCopier" />
|
||||
<beans:property name="linesToSkip" value="1" />
|
||||
</beans:bean>
|
||||
<beans:bean id="writer" class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<beans:property name="resource" ref="outputResource" />
|
||||
<beans:property name="lineAggregator">
|
||||
<beans:bean
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
<property name="skippedLinesCallback" ref="headerCopier" />
|
||||
<property name="linesToSkip" value="1" />
|
||||
</bean>
|
||||
<bean id="writer" class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<property name="resource" ref="outputResource" />
|
||||
<property name="lineAggregator">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</beans:property>
|
||||
<beans:property name="headerCallback" ref="headerCopier" />
|
||||
<beans:property name="footerCallback" ref="footerCallback" />
|
||||
</beans:bean>
|
||||
<beans:bean id="footerCallback" class="org.springframework.batch.sample.support.SummaryFooterCallback" />
|
||||
<beans:bean id="headerCopier"
|
||||
</property>
|
||||
<property name="headerCallback" ref="headerCopier" />
|
||||
<property name="footerCallback" ref="footerCallback" />
|
||||
</bean>
|
||||
<bean id="footerCallback" class="org.springframework.batch.sample.support.SummaryFooterCallback" />
|
||||
<bean id="headerCopier"
|
||||
class="org.springframework.batch.sample.support.HeaderCopyCallback" />
|
||||
<beans:bean id="inputResource" class="org.springframework.core.io.ClassPathResource">
|
||||
<beans:constructor-arg type="java.lang.String"
|
||||
<bean id="inputResource" class="org.springframework.core.io.ClassPathResource">
|
||||
<constructor-arg type="java.lang.String"
|
||||
value="data/headerFooterSample/input.txt" />
|
||||
</beans:bean>
|
||||
<beans:bean id="outputResource" class="org.springframework.core.io.FileSystemResource">
|
||||
<beans:constructor-arg type="java.lang.String"
|
||||
</bean>
|
||||
<bean id="outputResource" class="org.springframework.core.io.FileSystemResource">
|
||||
<constructor-arg type="java.lang.String"
|
||||
value="target/test-outputs/headerFooterOutput.txt" />
|
||||
</beans:bean>
|
||||
</beans:beans>
|
||||
</bean>
|
||||
</beans>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch" xmlns:beans="http://www.springframework.org/schema/beans"
|
||||
<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="
|
||||
@@ -8,9 +8,9 @@
|
||||
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
|
||||
|
||||
<beans:description>Example for Hibernate integration.</beans:description>
|
||||
<description>Example for Hibernate integration.</description>
|
||||
|
||||
<job id="hibernateJob" restartable="false">
|
||||
<job id="hibernateJob" restartable="false" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="hibernateItemReader"
|
||||
@@ -26,24 +26,24 @@
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<beans:bean id="creditIncreaseProcessor"
|
||||
<bean id="creditIncreaseProcessor"
|
||||
class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditIncreaseProcessor" />
|
||||
|
||||
<beans:bean id="hibernateCreditWriter"
|
||||
<bean id="hibernateCreditWriter"
|
||||
class="org.springframework.batch.sample.domain.trade.internal.HibernateAwareCustomerCreditItemWriter">
|
||||
<beans:property name="sessionFactory" ref="sessionFactory" />
|
||||
<beans:property name="dao" ref="customerCreditDao" />
|
||||
</beans:bean>
|
||||
<property name="sessionFactory" ref="sessionFactory" />
|
||||
<property name="dao" ref="customerCreditDao" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="customerCreditDao"
|
||||
<bean id="customerCreditDao"
|
||||
class="org.springframework.batch.sample.domain.trade.internal.HibernateCreditDao">
|
||||
<beans:property name="sessionFactory" ref="sessionFactory" />
|
||||
</beans:bean>
|
||||
<property name="sessionFactory" ref="sessionFactory" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="hibernateItemReader"
|
||||
<bean id="hibernateItemReader"
|
||||
class="org.springframework.batch.item.database.HibernateCursorItemReader">
|
||||
<beans:property name="queryString" value="from CustomerCredit" />
|
||||
<beans:property name="sessionFactory" ref="sessionFactory" />
|
||||
</beans:bean>
|
||||
<property name="queryString" value="from CustomerCredit" />
|
||||
<property name="sessionFactory" ref="sessionFactory" />
|
||||
</bean>
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
@@ -1,26 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="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"
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:util="http://www.springframework.org/schema/util"
|
||||
xsi:schemaLocation="
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-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
|
||||
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<job id="ioSampleJob">
|
||||
<job id="ioSampleJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="itemReader" processor="itemProcessor" writer="itemWriter" commit-interval="2"/>
|
||||
<chunk reader="itemReader" processor="itemProcessor" writer="itemWriter"
|
||||
commit-interval="2" />
|
||||
</tasklet>
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<beans:bean id="itemProcessor" class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditIncreaseProcessor" />
|
||||
<bean id="itemProcessor"
|
||||
class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditIncreaseProcessor" />
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
|
||||
@@ -1,17 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="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"
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
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/batch http://www.springframework.org/schema/batch/spring-batch-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">
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<job id="loopFlowSample">
|
||||
<job id="loopFlowSample" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1" next="step2">
|
||||
<tasklet>
|
||||
<chunk reader="itemGenerator" writer="itemWriter" commit-interval="1"/>
|
||||
@@ -34,18 +27,18 @@
|
||||
</decision>
|
||||
</job>
|
||||
|
||||
<beans:bean id="itemGenerator" class="org.springframework.batch.sample.domain.trade.internal.GeneratingTradeItemReader">
|
||||
<beans:property name="limit" value="1" />
|
||||
</beans:bean>
|
||||
<bean id="itemGenerator" class="org.springframework.batch.sample.domain.trade.internal.GeneratingTradeItemReader">
|
||||
<property name="limit" value="1" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="itemWriter" class="org.springframework.batch.sample.domain.trade.internal.ItemTrackingTradeItemWriter" />
|
||||
<bean id="itemWriter" class="org.springframework.batch.sample.domain.trade.internal.ItemTrackingTradeItemWriter" />
|
||||
|
||||
<beans:bean id="limitDecider" class="org.springframework.batch.sample.loopFlow.LimitDecider">
|
||||
<beans:property name="limit" value="9" />
|
||||
</beans:bean>
|
||||
<bean id="limitDecider" class="org.springframework.batch.sample.loopFlow.LimitDecider">
|
||||
<property name="limit" value="9" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="resettingListener" class="org.springframework.batch.sample.loopFlow.GeneratingTradeResettingListener">
|
||||
<beans:property name="reader" ref="itemGenerator" />
|
||||
</beans:bean>
|
||||
<bean id="resettingListener" class="org.springframework.batch.sample.loopFlow.GeneratingTradeResettingListener">
|
||||
<property name="reader" ref="itemGenerator" />
|
||||
</bean>
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
@@ -1,47 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns:batch="http://www.springframework.org/schema/batch"
|
||||
xmlns="http://www.springframework.org/schema/beans"
|
||||
<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/batch
|
||||
http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/aop
|
||||
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<batch:job id="multilineJob">
|
||||
<batch:step id="step1">
|
||||
<batch:tasklet>
|
||||
<batch:chunk reader="reader" writer="writer" commit-interval="1">
|
||||
<batch:streams>
|
||||
<batch:stream ref="fileItemReader"/>
|
||||
</batch:streams>
|
||||
</batch:chunk>
|
||||
</batch:tasklet>
|
||||
</batch:step>
|
||||
</batch:job>
|
||||
<job id="multilineJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="reader" writer="writer" commit-interval="1">
|
||||
<streams>
|
||||
<stream ref="fileItemReader" />
|
||||
</streams>
|
||||
</chunk>
|
||||
</tasklet>
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<bean id="reader" class="org.springframework.batch.sample.domain.multiline.AggregateItemReader">
|
||||
<bean id="reader"
|
||||
class="org.springframework.batch.sample.domain.multiline.AggregateItemReader">
|
||||
<property name="itemReader" ref="fileItemReader" />
|
||||
</bean>
|
||||
|
||||
<bean id="writer" class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<property name="resource" value="file:target/test-outputs/20070122.testStream.multilineStep.txt" />
|
||||
<property name="resource"
|
||||
value="file:target/test-outputs/20070122.testStream.multilineStep.txt" />
|
||||
<property name="lineAggregator">
|
||||
<bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator"/>
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="fileItemReader"
|
||||
class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource"
|
||||
value="classpath:data/multilineJob/input/20070122.teststream.multilineStep.txt" />
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer" ref="fixedFileDescriptor" />
|
||||
<property name="fieldSetMapper">
|
||||
<bean class="org.springframework.batch.sample.domain.multiline.AggregateItemFieldSetMapper">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.domain.multiline.AggregateItemFieldSetMapper">
|
||||
<property name="delegate" ref="tradeLineMapper" />
|
||||
</bean>
|
||||
</property>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:batch="http://www.springframework.org/schema/batch"
|
||||
<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
|
||||
@@ -12,18 +12,18 @@
|
||||
<import resource="multilineOrderOutputAggregators.xml" />
|
||||
<import resource="multilineOrderValidator.xml" />
|
||||
|
||||
<batch:job id="multilineOrderJob">
|
||||
<batch:step id="step1">
|
||||
<batch:tasklet>
|
||||
<batch:chunk reader="reader" processor="processor" writer="fileItemWriter" commit-interval="5">
|
||||
<batch:streams>
|
||||
<batch:stream ref="fileItemReader"/>
|
||||
<batch:stream ref="fileItemWriter"/>
|
||||
</batch:streams>
|
||||
</batch:chunk>
|
||||
</batch:tasklet>
|
||||
</batch:step>
|
||||
</batch:job>
|
||||
<job id="multilineOrderJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="reader" processor="processor" writer="fileItemWriter" commit-interval="5">
|
||||
<streams>
|
||||
<stream ref="fileItemReader"/>
|
||||
<stream ref="fileItemWriter"/>
|
||||
</streams>
|
||||
</chunk>
|
||||
</tasklet>
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<bean id="reader" class="org.springframework.batch.sample.domain.order.internal.OrderItemReader">
|
||||
<property name="fieldSetReader" ref="fileItemReader" />
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="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"
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
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
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
|
||||
http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-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">
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<job id="parallelJob">
|
||||
<job id="parallelJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="staging" next="loading">
|
||||
<tasklet>
|
||||
<chunk reader="fileItemReader"
|
||||
@@ -33,85 +28,85 @@
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<beans:bean id="validatingProcessor" class="org.springframework.batch.item.validator.ValidatingItemProcessor">
|
||||
<beans:constructor-arg ref="fixedValidator" />
|
||||
</beans:bean>
|
||||
<bean id="validatingProcessor" class="org.springframework.batch.item.validator.ValidatingItemProcessor">
|
||||
<constructor-arg ref="fixedValidator" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="stagingItemWriter" class="org.springframework.batch.sample.common.StagingItemWriter">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
<beans:property name="incrementer">
|
||||
<beans:bean parent="incrementerParent">
|
||||
<beans:property name="incrementerName" value="BATCH_STAGING_SEQ" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="stagingItemWriter" class="org.springframework.batch.sample.common.StagingItemWriter">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName" value="BATCH_STAGING_SEQ" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="taskExecutor" class="org.springframework.core.task.SimpleAsyncTaskExecutor" />
|
||||
<bean id="taskExecutor" class="org.springframework.core.task.SimpleAsyncTaskExecutor" />
|
||||
|
||||
<beans:bean id="stagingReader" class="org.springframework.batch.sample.common.StagingItemReader">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
</beans:bean>
|
||||
<bean id="stagingReader" class="org.springframework.batch.sample.common.StagingItemReader">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="stagingProcessor" class="org.springframework.batch.sample.common.StagingItemProcessor">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
</beans:bean>
|
||||
<bean id="stagingProcessor" class="org.springframework.batch.sample.common.StagingItemProcessor">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeWriter" class="org.springframework.batch.sample.domain.trade.internal.TradeWriter">
|
||||
<beans:property name="dao" ref="tradeDao" />
|
||||
</beans:bean>
|
||||
<bean id="tradeWriter" class="org.springframework.batch.sample.domain.trade.internal.TradeWriter">
|
||||
<property name="dao" ref="tradeDao" />
|
||||
</bean>
|
||||
|
||||
<!--
|
||||
This input source is injected into the test case to verify the output
|
||||
- not used by the job at all
|
||||
-->
|
||||
<beans:bean id="testItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<beans:property name="resource"
|
||||
<bean id="testItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource"
|
||||
value="classpath:data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
|
||||
<beans:property name="lineMapper">
|
||||
<beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<beans:property name="lineTokenizer" ref="fixedFileTokenizer" />
|
||||
<beans:property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer" ref="fixedFileTokenizer" />
|
||||
<property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fileItemReader" parent="testItemReader"
|
||||
<bean id="fileItemReader" parent="testItemReader"
|
||||
autowire-candidate="false">
|
||||
</beans:bean>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fixedFileTokenizer"
|
||||
<bean id="fixedFileTokenizer"
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<beans:property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<beans:property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</beans:bean>
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fixedValidator"
|
||||
<bean id="fixedValidator"
|
||||
class="org.springframework.batch.item.validator.SpringValidator">
|
||||
<beans:property name="validator">
|
||||
<beans:bean id="tradeValidator" class="org.springmodules.validation.valang.ValangValidator">
|
||||
<beans:property name="valang">
|
||||
<beans:value>
|
||||
<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}
|
||||
]]>
|
||||
</beans:value>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeDao"
|
||||
<bean id="tradeDao"
|
||||
class="org.springframework.batch.sample.domain.trade.internal.JdbcTradeDao">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
<beans:property name="incrementer">
|
||||
<beans:bean parent="incrementerParent">
|
||||
<beans:property name="incrementerName" value="TRADE_SEQ" />
|
||||
</beans:bean>
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName" value="TRADE_SEQ" />
|
||||
</bean>
|
||||
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fieldSetMapper"
|
||||
<bean id="fieldSetMapper"
|
||||
class="org.springframework.batch.sample.domain.trade.internal.TradeFieldSetMapper" />
|
||||
|
||||
<aop:config>
|
||||
@@ -122,4 +117,4 @@
|
||||
</aop:aspect>
|
||||
</aop:config>
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
@@ -1,17 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns:batch="http://www.springframework.org/schema/batch" 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" xmlns:util="http://www.springframework.org/schema/util"
|
||||
xsi:schemaLocation="
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
|
||||
http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-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
|
||||
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<batch:job id="partitionJob">
|
||||
<batch:step id="step" parent="step1:master" />
|
||||
</batch:job>
|
||||
<job id="partitionJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step" parent="step1:master" />
|
||||
</job>
|
||||
|
||||
<bean name="step1:master" class="org.springframework.batch.core.partition.support.PartitionStep">
|
||||
<property name="jobRepository" ref="jobRepository" />
|
||||
@@ -36,14 +33,14 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<batch:step id="step1">
|
||||
<batch:tasklet job-repository="jobRepository" transaction-manager="transactionManager">
|
||||
<batch:chunk writer="itemWriter" reader="itemReader" processor="itemProcessor" commit-interval="5" />
|
||||
<batch:listeners>
|
||||
<batch:listener ref="fileNameListener" />
|
||||
</batch:listeners>
|
||||
</batch:tasklet>
|
||||
</batch:step>
|
||||
<step id="step1" xmlns="http://www.springframework.org/schema/batch">
|
||||
<tasklet job-repository="jobRepository" transaction-manager="transactionManager">
|
||||
<chunk writer="itemWriter" reader="itemReader" processor="itemProcessor" commit-interval="5" />
|
||||
<listeners>
|
||||
<listener ref="fileNameListener" />
|
||||
</listeners>
|
||||
</tasklet>
|
||||
</step>
|
||||
|
||||
<bean id="fileNameListener" class="org.springframework.batch.sample.common.OutputFileListener" scope="step"/>
|
||||
|
||||
|
||||
@@ -1,66 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:batch="http://www.springframework.org/schema/batch"
|
||||
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"
|
||||
xmlns:util="http://www.springframework.org/schema/util"
|
||||
xsi:schemaLocation="
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-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
|
||||
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<batch:job id="ioSampleJob">
|
||||
<batch:step id="step1">
|
||||
<batch:tasklet>
|
||||
<batch:chunk reader="itemReader" processor="itemProcessor" writer="itemWriter" commit-interval="5"/>
|
||||
</batch:tasklet>
|
||||
</batch:step>
|
||||
</batch:job>
|
||||
<job id="ioSampleJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="itemReader" processor="itemProcessor" writer="itemWriter"
|
||||
commit-interval="5" />
|
||||
</tasklet>
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<bean id="itemReaderParent" class="org.springframework.batch.item.file.FlatFileItemReader" abstract="true">
|
||||
<bean id="itemReaderParent" class="org.springframework.batch.item.file.FlatFileItemReader"
|
||||
abstract="true">
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer">
|
||||
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<property name="delimiter" value=","/>
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<property name="delimiter" value="," />
|
||||
<property name="names" value="name,credit" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="fieldSetMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
|
||||
<property name="targetType" value="org.springframework.batch.sample.domain.trade.CustomerCredit" />
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
|
||||
<property name="targetType"
|
||||
value="org.springframework.batch.sample.domain.trade.CustomerCredit" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="itemReader" parent="itemReaderParent" scope="step" autowire-candidate="false">
|
||||
<bean id="itemReader" parent="itemReaderParent" scope="step"
|
||||
autowire-candidate="false">
|
||||
<property name="resource" value="data/restartFileSample/input/restartFile.csv" />
|
||||
</bean>
|
||||
|
||||
<bean id="itemProcessor" class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditIncreaseProcessor" />
|
||||
<bean id="itemProcessor"
|
||||
class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditIncreaseProcessor" />
|
||||
|
||||
<bean id="itemWriter" class="org.springframework.batch.sample.RestartFileSampleFunctionalTests$CustomerCreditFlatFileItemWriter">
|
||||
<bean id="itemWriter"
|
||||
class="org.springframework.batch.sample.RestartFileSampleFunctionalTests$CustomerCreditFlatFileItemWriter">
|
||||
<property name="resource" ref="outputResource" />
|
||||
<property name="lineAggregator">
|
||||
<bean class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
|
||||
<property name="delimiter" value=","/>
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
|
||||
<property name="delimiter" value="," />
|
||||
<property name="fieldExtractor">
|
||||
<bean class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
|
||||
<property name="names" value="name,credit"/>
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
|
||||
<property name="names" value="name,credit" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
|
||||
<bean id="outputResource" class="org.springframework.core.io.FileSystemResource">
|
||||
<constructor-arg value="target/test-outputs/restartFileOutput.csv" />
|
||||
<constructor-arg value="target/test-outputs/restartFileOutput.csv" />
|
||||
</bean>
|
||||
|
||||
|
||||
</beans>
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch" xmlns:beans="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"
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
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/batch http://www.springframework.org/schema/batch/spring-batch-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">
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<job id="restartSampleJob" restartable="true">
|
||||
<job id="restartSampleJob" restartable="true" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="itemReader" processor="processor" writer="tradeWriter" commit-interval="2">
|
||||
@@ -22,58 +18,58 @@
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<beans:bean id="processor" class="org.springframework.batch.item.validator.ValidatingItemProcessor">
|
||||
<beans:constructor-arg ref="fixedValidator" />
|
||||
</beans:bean>
|
||||
<bean id="processor" class="org.springframework.batch.item.validator.ValidatingItemProcessor">
|
||||
<constructor-arg ref="fixedValidator" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeWriter" class="org.springframework.batch.sample.domain.trade.internal.TradeWriter">
|
||||
<beans:property name="dao" ref="tradeDao" />
|
||||
</beans:bean>
|
||||
<bean id="tradeWriter" class="org.springframework.batch.sample.domain.trade.internal.TradeWriter">
|
||||
<property name="dao" ref="tradeDao" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="itemReader" class="org.springframework.batch.sample.support.ExceptionThrowingItemReaderProxy">
|
||||
<beans:property name="delegate" ref="fileItemReader" />
|
||||
</beans:bean>
|
||||
<bean id="itemReader" class="org.springframework.batch.sample.support.ExceptionThrowingItemReaderProxy">
|
||||
<property name="delegate" ref="fileItemReader" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
|
||||
<beans:property name="resource" value="#{jobParameters['input.file']}" />
|
||||
<beans:property name="lineMapper">
|
||||
<beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<beans:property name="lineTokenizer" ref="fixedFileTokenizer" />
|
||||
<beans:property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
<beans:property name="saveState" value="true" />
|
||||
</beans:bean>
|
||||
<bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
|
||||
<property name="resource" value="#{jobParameters['input.file']}" />
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer" ref="fixedFileTokenizer" />
|
||||
<property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="saveState" value="true" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fixedFileTokenizer" class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<beans:property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<beans:property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</beans: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>
|
||||
|
||||
<beans:bean id="fixedValidator" class="org.springframework.batch.item.validator.SpringValidator">
|
||||
<beans:property name="validator">
|
||||
<beans:bean id="tradeValidator" class="org.springmodules.validation.valang.ValangValidator">
|
||||
<beans:property name="valang">
|
||||
<beans:value>
|
||||
<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}
|
||||
]]>
|
||||
</beans:value>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeDao" class="org.springframework.batch.sample.domain.trade.internal.JdbcTradeDao">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
<beans:property name="incrementer">
|
||||
<beans:bean parent="incrementerParent">
|
||||
<beans:property name="incrementerName" value="TRADE_SEQ" />
|
||||
</beans:bean>
|
||||
<bean id="tradeDao" class="org.springframework.batch.sample.domain.trade.internal.JdbcTradeDao">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName" value="TRADE_SEQ" />
|
||||
</bean>
|
||||
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fieldSetMapper" class="org.springframework.batch.sample.domain.trade.internal.TradeFieldSetMapper" />
|
||||
<bean id="fieldSetMapper" class="org.springframework.batch.sample.domain.trade.internal.TradeFieldSetMapper" />
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
@@ -1,17 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="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"
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
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/batch http://www.springframework.org/schema/batch/spring-batch-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">
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<job id="retrySample">
|
||||
<job id="retrySample" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet>
|
||||
<chunk reader="itemGenerator"
|
||||
@@ -26,10 +19,10 @@
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<beans:bean id="itemGenerator" class="org.springframework.batch.sample.domain.trade.internal.GeneratingTradeItemReader">
|
||||
<beans:property name="limit" value="10" />
|
||||
</beans:bean>
|
||||
<bean id="itemGenerator" class="org.springframework.batch.sample.domain.trade.internal.GeneratingTradeItemReader">
|
||||
<property name="limit" value="10" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="itemWriter" class="org.springframework.batch.sample.support.RetrySampleItemWriter" />
|
||||
<bean id="itemWriter" class="org.springframework.batch.sample.support.RetrySampleItemWriter" />
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
@@ -1,18 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch"
|
||||
xmlns:beans="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"
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
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/batch
|
||||
http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/aop
|
||||
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||
|
||||
<job id="skipJob" incrementer="incrementer">
|
||||
<job id="skipJob" incrementer="incrementer" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1" parent="baseStep">
|
||||
<tasklet>
|
||||
<chunk reader="fileItemReader" processor="tradeProcessor" writer="tradeWriter"
|
||||
@@ -46,7 +38,7 @@
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<step id="secondPass" parent="t2">
|
||||
<step id="secondPass" parent="t2" xmlns="http://www.springframework.org/schema/batch">
|
||||
<tasklet>
|
||||
<chunk writer="itemTrackingWriter">
|
||||
<skippable-exception-classes merge="true">
|
||||
@@ -56,9 +48,9 @@
|
||||
</tasklet>
|
||||
</step>
|
||||
|
||||
<step id="t2" parent="t3" abstract="true"/>
|
||||
<step id="t2" parent="t3" abstract="true" xmlns="http://www.springframework.org/schema/batch"/>
|
||||
|
||||
<step id="t3" parent="baseStep" abstract="true">
|
||||
<step id="t3" parent="baseStep" abstract="true" xmlns="http://www.springframework.org/schema/batch">
|
||||
<tasklet>
|
||||
<chunk reader="tradeSqlItemReader" processor="tradeProcessor" writer="dummyWriter"
|
||||
commit-interval="2" skip-limit="10">
|
||||
@@ -69,7 +61,7 @@
|
||||
</tasklet>
|
||||
</step>
|
||||
|
||||
<step id="baseStep" abstract="true">
|
||||
<step id="baseStep" abstract="true" xmlns="http://www.springframework.org/schema/batch">
|
||||
<tasklet>
|
||||
<listeners>
|
||||
<listener class="org.springframework.batch.sample.common.SkipCheckingListener"/>
|
||||
@@ -78,54 +70,55 @@
|
||||
</tasklet>
|
||||
</step>
|
||||
|
||||
<beans:bean id="dummyWriter" class="org.springframework.batch.sample.support.DummyItemWriter"/>
|
||||
<bean id="dummyWriter" class="org.springframework.batch.sample.support.DummyItemWriter"/>
|
||||
|
||||
<beans:bean id="promotionListener" class="org.springframework.batch.core.listener.ExecutionContextPromotionListener" scope="step">
|
||||
<beans:property name="keys" value="stepName"/>
|
||||
</beans:bean>
|
||||
<bean id="promotionListener" class="org.springframework.batch.core.listener.ExecutionContextPromotionListener" scope="step">
|
||||
<property name="keys" value="stepName"/>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
|
||||
<beans:property name="resource" value="classpath:/data/skipJob/input/input#{jobParameters[run.id]}.txt" />
|
||||
<beans:property name="lineMapper">
|
||||
<beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<beans:property name="lineTokenizer">
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<beans:property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
<beans:property name="fieldSetMapper">
|
||||
<beans:bean class="org.springframework.batch.sample.domain.trade.internal.TradeFieldSetMapper" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
|
||||
<property name="resource" value="classpath:/data/skipJob/input/input#{jobParameters[run.id]}.txt" />
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer">
|
||||
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="fieldSetMapper">
|
||||
<bean class="org.springframework.batch.sample.domain.trade.internal.TradeFieldSetMapper" />
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeProcessor" class="org.springframework.batch.sample.domain.trade.internal.TradeProcessor"/>
|
||||
<bean id="tradeProcessor" class="org.springframework.batch.sample.domain.trade.internal.TradeProcessor"/>
|
||||
|
||||
<beans:bean id="tradeSqlItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
<beans:property name="sql" value="SELECT isin, quantity, price, customer from TRADE" />
|
||||
<beans:property name="rowMapper">
|
||||
<beans:bean class="org.springframework.batch.sample.domain.trade.internal.TradeRowMapper" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="tradeSqlItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="sql" value="SELECT isin, quantity, price, customer from TRADE" />
|
||||
<property name="rowMapper">
|
||||
<bean class="org.springframework.batch.sample.domain.trade.internal.TradeRowMapper" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="customerReportItemWriter" class="org.springframework.batch.sample.domain.trade.internal.FlatFileCustomerCreditDao">
|
||||
<beans:property name="itemWriter">
|
||||
<beans:bean id="customerFlatFileOutputSource" class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<beans:property name="resource" value="target/test-outputs/20070122.testStream.CustomerReportStep.TEMP.txt" />
|
||||
<beans:property name="lineAggregator">
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="customerReportItemWriter" class="org.springframework.batch.sample.domain.trade.internal.FlatFileCustomerCreditDao">
|
||||
<property name="itemWriter">
|
||||
<bean id="customerFlatFileOutputSource" class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<property name="resource" value="target/test-outputs/20070122.testStream.CustomerReportStep.TEMP.txt" />
|
||||
<property name="lineAggregator">
|
||||
<bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="errorLogTasklet" class="org.springframework.batch.sample.common.ErrorLogTasklet">
|
||||
<beans:property name="dataSource" ref="dataSource"/>
|
||||
</beans:bean>
|
||||
<bean id="errorLogTasklet" class="org.springframework.batch.sample.common.ErrorLogTasklet">
|
||||
<property name="dataSource" ref="dataSource"/>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="skipCheckingDecider" class="org.springframework.batch.sample.common.SkipCheckingDecider"/>
|
||||
<bean id="skipCheckingDecider" class="org.springframework.batch.sample.common.SkipCheckingDecider"/>
|
||||
|
||||
<beans:bean id="incrementer" class="org.springframework.batch.sample.common.InfiniteLoopIncrementer"/>
|
||||
</beans:beans>
|
||||
<bean id="incrementer" class="org.springframework.batch.sample.common.InfiniteLoopIncrementer"/>
|
||||
|
||||
</beans>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?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:batch="http://www.springframework.org/schema/batch"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
|
||||
xmlns:p="http://www.springframework.org/schema/p">
|
||||
@@ -15,13 +15,13 @@
|
||||
<bean class="org.springframework.batch.core.scope.StepScope"
|
||||
p:proxyTargetClass="true" />
|
||||
|
||||
<batch:job id="loopJob">
|
||||
<batch:step id="step1">
|
||||
<batch:tasklet ref="adapter">
|
||||
<batch:transaction-attributes propagation="REQUIRED"/>
|
||||
</batch:tasklet>
|
||||
</batch:step>
|
||||
</batch:job>
|
||||
<job id="loopJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1">
|
||||
<tasklet ref="adapter">
|
||||
<transaction-attributes propagation="REQUIRED"/>
|
||||
</tasklet>
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<bean id="adapter"
|
||||
class="org.springframework.batch.core.step.tasklet.MethodInvokingTaskletAdapter">
|
||||
|
||||
@@ -1,15 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans:beans xmlns="http://www.springframework.org/schema/batch" xmlns:beans="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"
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
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/batch
|
||||
http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/aop
|
||||
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch-2.0.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||
|
||||
<job id="tradeJob">
|
||||
<job id="tradeJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step1" next="step2">
|
||||
<tasklet>
|
||||
<chunk reader="fileItemReader" processor="validatingProcessor" writer="tradeWriter"
|
||||
@@ -33,87 +29,87 @@
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<beans:bean id="validatingProcessor" class="org.springframework.batch.item.validator.ValidatingItemProcessor">
|
||||
<beans:constructor-arg ref="tradeValidator" />
|
||||
</beans:bean>
|
||||
<bean id="validatingProcessor" class="org.springframework.batch.item.validator.ValidatingItemProcessor">
|
||||
<constructor-arg ref="tradeValidator" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeWriter" class="org.springframework.batch.sample.domain.trade.internal.TradeWriter">
|
||||
<beans:property name="dao" ref="tradeDao" />
|
||||
</beans:bean>
|
||||
<bean id="tradeWriter" class="org.springframework.batch.sample.domain.trade.internal.TradeWriter">
|
||||
<property name="dao" ref="tradeDao" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="customerWriter" class="org.springframework.batch.sample.domain.trade.internal.CustomerUpdateWriter">
|
||||
<beans:property name="dao" ref="customerDao" />
|
||||
</beans:bean>
|
||||
<bean id="customerWriter" class="org.springframework.batch.sample.domain.trade.internal.CustomerUpdateWriter">
|
||||
<property name="dao" ref="customerDao" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="creditWriter" class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditUpdateWriter">
|
||||
<beans:property name="dao" ref="customerReportItemWriter" />
|
||||
</beans:bean>
|
||||
<bean id="creditWriter" class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditUpdateWriter">
|
||||
<property name="dao" ref="customerReportItemWriter" />
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeSqlItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
<beans:property name="sql" value="SELECT id, quantity, price, customer from TRADE" />
|
||||
<beans:property name="rowMapper">
|
||||
<beans:bean class="org.springframework.batch.sample.domain.trade.internal.TradeRowMapper" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="tradeSqlItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="sql" value="SELECT id, quantity, price, customer from TRADE" />
|
||||
<property name="rowMapper">
|
||||
<bean class="org.springframework.batch.sample.domain.trade.internal.TradeRowMapper" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="customerSqlItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
|
||||
<beans:property name="dataSource" ref="dataSource" />
|
||||
<beans:property name="sql" value="SELECT id, name, credit FROM customer " />
|
||||
<beans:property name="rowMapper">
|
||||
<beans:bean class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditRowMapper" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="customerSqlItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="sql" value="SELECT id, name, credit FROM customer " />
|
||||
<property name="rowMapper">
|
||||
<bean class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditRowMapper" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeDao" class="org.springframework.batch.sample.domain.trade.internal.JdbcTradeDao"
|
||||
<bean id="tradeDao" class="org.springframework.batch.sample.domain.trade.internal.JdbcTradeDao"
|
||||
p:dataSource-ref="dataSource">
|
||||
<beans:property name="incrementer">
|
||||
<beans:bean parent="incrementerParent">
|
||||
<beans:property name="incrementerName" value="TRADE_SEQ" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName" value="TRADE_SEQ" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="customerDao" class="org.springframework.batch.sample.domain.trade.internal.JdbcCustomerDebitDao"
|
||||
<bean id="customerDao" class="org.springframework.batch.sample.domain.trade.internal.JdbcCustomerDebitDao"
|
||||
p:dataSource-ref="dataSource" />
|
||||
|
||||
<beans:bean id="customerReportItemWriter" class="org.springframework.batch.sample.domain.trade.internal.FlatFileCustomerCreditDao">
|
||||
<beans:property name="itemWriter">
|
||||
<beans:bean class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<beans:property name="resource" value="target/test-outputs/20070122.testStream.CustomerReportStep.TEMP.txt" />
|
||||
<beans:property name="lineAggregator">
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="customerReportItemWriter" class="org.springframework.batch.sample.domain.trade.internal.FlatFileCustomerCreditDao">
|
||||
<property name="itemWriter">
|
||||
<bean class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<property name="resource" value="target/test-outputs/20070122.testStream.CustomerReportStep.TEMP.txt" />
|
||||
<property name="lineAggregator">
|
||||
<bean class="org.springframework.batch.item.file.transform.PassThroughLineAggregator" />
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
|
||||
<beans:property name="resource" value="classpath:data/tradeJob/input/20070122.teststream.ImportTradeDataStep.txt" />
|
||||
<beans:property name="lineMapper">
|
||||
<beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<beans:property name="lineTokenizer">
|
||||
<beans:bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<beans:property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
<beans:property name="fieldSetMapper">
|
||||
<beans:bean class="org.springframework.batch.sample.domain.trade.internal.TradeFieldSetMapper" />
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
<bean id="fileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
|
||||
<property name="resource" value="classpath:data/tradeJob/input/20070122.teststream.ImportTradeDataStep.txt" />
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer">
|
||||
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="fieldSetMapper">
|
||||
<bean class="org.springframework.batch.sample.domain.trade.internal.TradeFieldSetMapper" />
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<beans:bean id="tradeValidator" class="org.springframework.batch.item.validator.SpringValidator">
|
||||
<beans:property name="validator">
|
||||
<beans:bean class="org.springmodules.validation.valang.ValangValidator">
|
||||
<beans:property name="valang">
|
||||
<beans:value>
|
||||
<bean id="tradeValidator" class="org.springframework.batch.item.validator.SpringValidator">
|
||||
<property name="validator">
|
||||
<bean class="org.springmodules.validation.valang.ValangValidator">
|
||||
<property name="valang">
|
||||
<value>
|
||||
<![CDATA[{ isin : length(?) < 13 : 'ISIN too long' : 'isin_length' : 12}]]>
|
||||
</beans:value>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</beans:property>
|
||||
</beans:bean>
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
</beans:beans>
|
||||
</beans>
|
||||
Reference in New Issue
Block a user