IN PROGRESS - issue BATCH-476: samples cleanup
http://jira.springframework.org/browse/BATCH-476
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
<bean id="step1" parent="skipLimitStep">
|
||||
<property name="skipLimit" value="5" />
|
||||
<property name="itemReader" ref="hibernateItemReader" />
|
||||
<property name="itemWriter" ref="hibernateOutputSource" />
|
||||
<property name="itemWriter" ref="hibernateItemWriter" />
|
||||
<property name="commitInterval" value="3" />
|
||||
</bean>
|
||||
</property>
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
|
||||
<!-- This is a framework class that needs a delegate and also needs to be registered as a RepeatInterceptor in the chunk -->
|
||||
<bean id="hibernateOutputSource"
|
||||
<bean id="hibernateItemWriter"
|
||||
class="org.springframework.batch.item.database.HibernateAwareItemWriter">
|
||||
<property name="sessionFactory" ref="sessionFactory" />
|
||||
<property name="delegate" ref="hibernateCreditWriter" />
|
||||
|
||||
@@ -48,24 +48,24 @@
|
||||
class="org.springframework.batch.item.file.transform.PrefixMatchingCompositeLineTokenizer">
|
||||
<property name="tokenizers">
|
||||
<map>
|
||||
<entry key="BEGIN" value-ref="beginRecordDescriptor" />
|
||||
<entry key="END" value-ref="endRecordDescriptor" />
|
||||
<entry key="" value-ref="tradeRecordDescriptor" />
|
||||
<entry key="BEGIN" value-ref="beginRecordTokenizer" />
|
||||
<entry key="END" value-ref="endRecordTokenizer" />
|
||||
<entry key="" value-ref="tradeRecordTokenizer" />
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="beginRecordDescriptor"
|
||||
<bean id="beginRecordTokenizer"
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<property name="columns" value="1-5" />
|
||||
</bean>
|
||||
|
||||
<bean id="endRecordDescriptor"
|
||||
<bean id="endRecordTokenizer"
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<property name="columns" value="1-3" />
|
||||
</bean>
|
||||
|
||||
<bean id="tradeRecordDescriptor"
|
||||
<bean id="tradeRecordTokenizer"
|
||||
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" />
|
||||
|
||||
@@ -3,67 +3,67 @@
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<bean id="orderFileDescriptor"
|
||||
<bean id="orderFileTokenizer"
|
||||
class="org.springframework.batch.item.file.transform.PrefixMatchingCompositeLineTokenizer">
|
||||
<property name="tokenizers">
|
||||
<map>
|
||||
<entry key="HEA" value-ref="headerRecordDescriptor" />
|
||||
<entry key="FOT" value-ref="footerRecordDescriptor" />
|
||||
<entry key="BCU" value-ref="businessCustomerLineDescriptor" />
|
||||
<entry key="NCU" value-ref="customerLineDescriptor" />
|
||||
<entry key="BAD" value-ref="billingAddressLineDescriptor" />
|
||||
<entry key="SAD" value-ref="shippingAddressLineDescriptor" />
|
||||
<entry key="BIN" value-ref="billingLineDescriptor" />
|
||||
<entry key="SIN" value-ref="shippingLineDescriptor" />
|
||||
<entry key="LIT" value-ref="itemLineDescriptor" />
|
||||
<entry key="" value-ref="defaultLineDescriptor" />
|
||||
<entry key="HEA" value-ref="headerRecordTokenizer" />
|
||||
<entry key="FOT" value-ref="footerRecordTokenizer" />
|
||||
<entry key="BCU" value-ref="businessCustomerLineTokenizer" />
|
||||
<entry key="NCU" value-ref="customerLineTokenizer" />
|
||||
<entry key="BAD" value-ref="billingAddressLineTokenizer" />
|
||||
<entry key="SAD" value-ref="shippingAddressLineTokenizer" />
|
||||
<entry key="BIN" value-ref="billingLineTokenizer" />
|
||||
<entry key="SIN" value-ref="shippingLineTokenizer" />
|
||||
<entry key="LIT" value-ref="itemLineTokenizer" />
|
||||
<entry key="" value-ref="defaultLineTokenizer" />
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="defaultLineDescriptor"
|
||||
<bean id="defaultLineTokenizer"
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<property name="columns" value="1-120" />
|
||||
</bean>
|
||||
|
||||
<bean id="parentLineDescriptor" abstract="true"
|
||||
<bean id="parentLineTokenizer" abstract="true"
|
||||
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<property name="delimiter" value=";"/>
|
||||
</bean>
|
||||
|
||||
<bean id="headerRecordDescriptor" parent="parentLineDescriptor">
|
||||
<bean id="headerRecordTokenizer" parent="parentLineTokenizer">
|
||||
<property name="names" value="LINE_ID,ORDER_ID,ORDER_DATE" />
|
||||
</bean>
|
||||
|
||||
<bean id="footerRecordDescriptor" parent="parentLineDescriptor">
|
||||
<bean id="footerRecordTokenizer" parent="parentLineTokenizer">
|
||||
<property name="names" value="LINE_ID,TOTAL_LINE_ITEMS,TOTAL_ITEMS,TOTAL_PRICE" />
|
||||
</bean>
|
||||
|
||||
<bean id="businessCustomerLineDescriptor" parent="parentLineDescriptor">
|
||||
<bean id="businessCustomerLineTokenizer" parent="parentLineTokenizer">
|
||||
<property name="names" value="LINE_ID,COMPANY_NAME,REG_ID,VIP" />
|
||||
</bean>
|
||||
|
||||
<bean id="customerLineDescriptor" parent="parentLineDescriptor">
|
||||
<bean id="customerLineTokenizer" parent="parentLineTokenizer">
|
||||
<property name="names" value="LINE_ID,LAST_NAME,FIRST_NAME,MIDDLE_NAME,REGISTERED,REG_ID,VIP" />
|
||||
</bean>
|
||||
|
||||
<bean id="billingAddressLineDescriptor" parent="parentLineDescriptor">
|
||||
<bean id="billingAddressLineTokenizer" parent="parentLineTokenizer">
|
||||
<property name="names" value="LINE_ID,ADDRESSEE,ADDR_LINE1,ADDR_LINE2,CITY,ZIP_CODE,STATE,COUNTRY" />
|
||||
</bean>
|
||||
|
||||
<bean id="shippingAddressLineDescriptor" parent="parentLineDescriptor">
|
||||
<bean id="shippingAddressLineTokenizer" parent="parentLineTokenizer">
|
||||
<property name="names" value="LINE_ID,ADDRESSEE,ADDR_LINE1,ADDR_LINE2,CITY,ZIP_CODE,STATE,COUNTRY" />
|
||||
</bean>
|
||||
|
||||
<bean id="billingLineDescriptor" parent="parentLineDescriptor">
|
||||
<bean id="billingLineTokenizer" parent="parentLineTokenizer">
|
||||
<property name="names" value="LINE_ID,PAYMENT_TYPE_ID,PAYMENT_DESC" />
|
||||
</bean>
|
||||
|
||||
<bean id="shippingLineDescriptor" parent="parentLineDescriptor">
|
||||
<bean id="shippingLineTokenizer" parent="parentLineTokenizer">
|
||||
<property name="names" value="LINE_ID,SHIPPER_ID,SHIPPING_TYPE_ID,ADDITIONAL_SHIPPING_INFO" />
|
||||
</bean>
|
||||
|
||||
<bean id="itemLineDescriptor" parent="parentLineDescriptor">
|
||||
<bean id="itemLineTokenizer" parent="parentLineTokenizer">
|
||||
<property name="names"
|
||||
value="LINE_ID,ITEM_ID,PRICE,DISCOUNT_PERC,DISCOUNT_AMOUNT,SHIPPING_PRICE,HANDLING_PRICE,QUANTITY,TOTAL_PRICE" />
|
||||
</bean>
|
||||
@@ -8,26 +8,26 @@
|
||||
http://www.springframework.org/schema/aop
|
||||
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
|
||||
|
||||
<bean id="fileInputTemplate"
|
||||
<bean id="fileItemReader"
|
||||
class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource" ref="fileInputLocator" />
|
||||
<property name="lineTokenizer" ref="orderFileDescriptor" />
|
||||
<property name="lineTokenizer" ref="orderFileTokenizer" />
|
||||
<property name="fieldSetMapper">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.mapping.PassThroughFieldSetMapper" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="flatFileTransformerOutput"
|
||||
<bean id="flatFileTransformerWriter"
|
||||
class="org.springframework.batch.item.transform.ItemTransformerItemWriter">
|
||||
<property name="delegate" ref="flatFileOutput"/>
|
||||
<property name="delegate" ref="flatFileWriter"/>
|
||||
<property name="itemTransformer">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.RecursiveCollectionItemTransformer" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="flatFileOutput"
|
||||
<bean id="flatFileWriter"
|
||||
class="org.springframework.batch.item.file.FlatFileItemWriter">
|
||||
<property name="resource" ref="fileOutputLocator" />
|
||||
<property name="fieldSetCreator">
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
http://www.springframework.org/schema/aop
|
||||
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
|
||||
|
||||
<import resource="multilineOrderInputDescriptors.xml" />
|
||||
<import resource="multilineOrderOutputDescriptors.xml" />
|
||||
<import resource="multilineOrderInputTokenizers.xml" />
|
||||
<import resource="multilineOrderOutputAggregators.xml" />
|
||||
<import resource="multilineOrderIo.xml" />
|
||||
|
||||
<bean id="multilineOrderJob" parent="simpleJob">
|
||||
@@ -16,8 +16,8 @@
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="streams">
|
||||
<list>
|
||||
<ref bean="flatFileOutput" />
|
||||
<ref bean="fileInputTemplate" />
|
||||
<ref bean="flatFileWriter" />
|
||||
<ref bean="fileItemReader" />
|
||||
</list>
|
||||
</property>
|
||||
<property name="itemReader">
|
||||
@@ -27,7 +27,7 @@
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.reader.OrderItemReader">
|
||||
<property name="itemReader"
|
||||
ref="fileInputTemplate" />
|
||||
ref="fileItemReader" />
|
||||
<property name="headerMapper"
|
||||
ref="headerFieldSetMapper" />
|
||||
<property name="customerMapper"
|
||||
@@ -57,11 +57,11 @@
|
||||
|
||||
<bean id="orderWriter"
|
||||
class="org.springframework.batch.sample.dao.FlatFileOrderWriter">
|
||||
<property name="delegate" ref="flatFileTransformerOutput" />
|
||||
<property name="delegate" ref="flatFileTransformerWriter" />
|
||||
<property name="transformer">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.dao.OrderTransformer">
|
||||
<property name="aggregators" ref="outputDescriptors" />
|
||||
<property name="aggregators" ref="outputAggregators" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
|
||||
|
||||
<util:map id="outputDescriptors">
|
||||
<util:map id="outputAggregators">
|
||||
<entry key="header" value-ref="outputHeader" />
|
||||
<entry key="footer" value-ref="outputFooter" />
|
||||
<entry key="customer" value-ref="outputCustomer" />
|
||||
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
|
||||
@@ -15,84 +15,85 @@
|
||||
<bean id="staging" parent="simpleStep">
|
||||
<property name="commitInterval" value="2" />
|
||||
<property name="startLimit" value="100" />
|
||||
<property name="streams" ref="fileInputTemplate" />
|
||||
<property name="streams" ref="fileItemReader" />
|
||||
<property name="itemReader">
|
||||
<bean
|
||||
class="org.springframework.batch.item.validator.ValidatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="fileInputTemplate" />
|
||||
<property name="validator"
|
||||
ref="fixedValidator" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemWriter">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.writer.StagingItemWriter">
|
||||
<property name="dataSource"
|
||||
ref="dataSource" />
|
||||
<property name="lobHandler"
|
||||
ref="lobHandler" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName"
|
||||
value="BATCH_STAGING_SEQ" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
<bean id="loading" parent="simpleStep">
|
||||
<property name="taskExecutor">
|
||||
<bean
|
||||
class="org.springframework.core.task.SimpleAsyncTaskExecutor" />
|
||||
</property>
|
||||
<property name="itemReader">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.reader.StagingItemReader">
|
||||
<property name="lobHandler"
|
||||
ref="lobHandler" />
|
||||
<property name="dataSource"
|
||||
ref="dataSource" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemWriter">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.writer.TradeWriter">
|
||||
<property name="dao" ref="tradeDao" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<!-- This input source is injected into the test case to verify the output - not used by the job at all -->
|
||||
<bean id="testInputTemplate"
|
||||
class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource" ref="fileLocator" />
|
||||
<property name="lineTokenizer" ref="fixedFileDescriptor" />
|
||||
<property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</bean>
|
||||
|
||||
<bean id="fileInputTemplate" parent="testInputTemplate"
|
||||
autowire-candidate="false">
|
||||
</bean>
|
||||
|
||||
<bean id="fixedFileDescriptor"
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedValidator"
|
||||
class="org.springframework.batch.item.validator.SpringValidator">
|
||||
<property name="validator">
|
||||
<bean id="tradeValidator"
|
||||
class="org.springmodules.validation.valang.ValangValidator">
|
||||
<property name="valang">
|
||||
<value>
|
||||
<bean
|
||||
class="org.springframework.batch.item.validator.ValidatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="fileItemReader" />
|
||||
<property name="validator"
|
||||
ref="fixedValidator" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemWriter">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.writer.StagingItemWriter">
|
||||
<property name="dataSource"
|
||||
ref="dataSource" />
|
||||
<property name="lobHandler"
|
||||
ref="lobHandler" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName"
|
||||
value="BATCH_STAGING_SEQ" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
<bean id="loading" parent="simpleStep">
|
||||
<property name="taskExecutor">
|
||||
<bean
|
||||
class="org.springframework.core.task.SimpleAsyncTaskExecutor" />
|
||||
</property>
|
||||
<property name="itemReader">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.reader.StagingItemReader">
|
||||
<property name="lobHandler"
|
||||
ref="lobHandler" />
|
||||
<property name="dataSource"
|
||||
ref="dataSource" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemWriter">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.writer.TradeWriter">
|
||||
<property name="dao" ref="tradeDao" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<!-- This input source is injected into the test case to verify the output - not used by the job at all -->
|
||||
<bean id="testItemReader"
|
||||
class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource"
|
||||
value="classpath:data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
|
||||
<property name="lineTokenizer" ref="fixedFileTokenizer" />
|
||||
<property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</bean>
|
||||
|
||||
<bean id="fileItemReader" parent="testItemReader"
|
||||
autowire-candidate="false">
|
||||
</bean>
|
||||
|
||||
<bean id="fixedFileTokenizer"
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedValidator"
|
||||
class="org.springframework.batch.item.validator.SpringValidator">
|
||||
<property name="validator">
|
||||
<bean id="tradeValidator"
|
||||
class="org.springmodules.validation.valang.ValangValidator">
|
||||
<property name="valang">
|
||||
<value>
|
||||
<![CDATA[
|
||||
{ isin : length(?) < 13 : 'ISIN too long' : 'isin_length' : 12}
|
||||
]]>
|
||||
@@ -102,32 +103,26 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="tradeDao"
|
||||
class="org.springframework.batch.sample.dao.JdbcTradeDao">
|
||||
<property name="jdbcTemplate" ref="jdbcTemplate" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName" value="TRADE_SEQ" />
|
||||
</bean>
|
||||
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="fileLocator"
|
||||
class="org.springframework.core.io.ClassPathResource">
|
||||
<constructor-arg type="java.lang.String"
|
||||
value="data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
|
||||
</bean>
|
||||
|
||||
<bean id="fieldSetMapper"
|
||||
class="org.springframework.batch.sample.mapping.TradeFieldSetMapper" />
|
||||
|
||||
<aop:config>
|
||||
<aop:aspect id="moduleLogging" ref="logAdvice">
|
||||
<aop:after
|
||||
pointcut="execution( * org.springframework.batch.item.ItemWriter+.write(Object)) and args(item)"
|
||||
method="doStronglyTypedLogging" />
|
||||
</aop:aspect>
|
||||
</aop:config>
|
||||
|
||||
<bean id="tradeDao"
|
||||
class="org.springframework.batch.sample.dao.JdbcTradeDao">
|
||||
<property name="jdbcTemplate" ref="jdbcTemplate" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName" value="TRADE_SEQ" />
|
||||
</bean>
|
||||
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="fieldSetMapper"
|
||||
class="org.springframework.batch.sample.mapping.TradeFieldSetMapper" />
|
||||
|
||||
<aop:config>
|
||||
<aop:aspect id="moduleLogging" ref="logAdvice">
|
||||
<aop:after
|
||||
pointcut="execution( * org.springframework.batch.item.ItemWriter+.write(Object)) and args(item)"
|
||||
method="doStronglyTypedLogging" />
|
||||
</aop:aspect>
|
||||
</aop:config>
|
||||
|
||||
</beans>
|
||||
@@ -1,64 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||
xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
|
||||
|
||||
|
||||
<bean id="restartSampleJob" parent="simpleJob">
|
||||
<property name="steps">
|
||||
<bean id="step1" parent="simpleStep">
|
||||
<property name="streams" ref="fileItemReader"/>
|
||||
<property name="streams" ref="fileItemReader" />
|
||||
<property name="itemReader">
|
||||
<bean
|
||||
class="org.springframework.batch.item.validator.ValidatingItemReader">
|
||||
<property name="itemReader"
|
||||
ref="itemReader" />
|
||||
<property name="validator" ref="fixedValidator" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemWriter">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.writer.TradeWriter">
|
||||
<property name="dao" ref="tradeDao" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="commitInterval" value="2" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<bean id="itemReader"
|
||||
class="org.springframework.batch.sample.item.reader.ExceptionThrowingItemReaderProxy">
|
||||
<property name="itemReader" ref="fileItemReader" />
|
||||
</bean>
|
||||
|
||||
<bean id="fileItemReader"
|
||||
class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource" ref="fileLocator" />
|
||||
<property name="lineTokenizer" ref="fixedFileDescriptor" />
|
||||
<property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedFileDescriptor"
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedValidator"
|
||||
class="org.springframework.batch.item.validator.SpringValidator">
|
||||
<property name="validator">
|
||||
<bean id="tradeValidator"
|
||||
class="org.springmodules.validation.valang.ValangValidator">
|
||||
<property name="valang">
|
||||
<value>
|
||||
<bean
|
||||
class="org.springframework.batch.item.validator.ValidatingItemReader">
|
||||
<property name="itemReader" ref="itemReader" />
|
||||
<property name="validator" ref="fixedValidator" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="itemWriter">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.item.writer.TradeWriter">
|
||||
<property name="dao" ref="tradeDao" />
|
||||
</bean>
|
||||
</property>
|
||||
<property name="commitInterval" value="2" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- INFRASTRUCTURE SETUP -->
|
||||
|
||||
<bean id="itemReader"
|
||||
class="org.springframework.batch.sample.item.reader.ExceptionThrowingItemReaderProxy">
|
||||
<property name="itemReader" ref="fileItemReader" />
|
||||
</bean>
|
||||
|
||||
<bean id="fileItemReader"
|
||||
class="org.springframework.batch.item.file.FlatFileItemReader">
|
||||
<property name="resource"
|
||||
value="classpath:data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
|
||||
<property name="lineTokenizer" ref="fixedFileDescriptor" />
|
||||
<property name="fieldSetMapper" ref="fieldSetMapper" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedFileDescriptor"
|
||||
class="org.springframework.batch.item.file.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedValidator"
|
||||
class="org.springframework.batch.item.validator.SpringValidator">
|
||||
<property name="validator">
|
||||
<bean id="tradeValidator"
|
||||
class="org.springmodules.validation.valang.ValangValidator">
|
||||
<property name="valang">
|
||||
<value>
|
||||
<![CDATA[
|
||||
{ isin : length(?) < 13 : 'ISIN too long' : 'isin_length' : 12}
|
||||
]]>
|
||||
@@ -68,24 +68,18 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="tradeDao"
|
||||
class="org.springframework.batch.sample.dao.JdbcTradeDao">
|
||||
<property name="jdbcTemplate" ref="jdbcTemplate" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName" value="TRADE_SEQ" />
|
||||
</bean>
|
||||
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="fileLocator"
|
||||
class="org.springframework.core.io.ClassPathResource">
|
||||
<constructor-arg type="java.lang.String"
|
||||
value="data/fixedLengthImportJob/input/20070122.teststream.ImportTradeDataStep.txt" />
|
||||
</bean>
|
||||
|
||||
<bean id="fieldSetMapper"
|
||||
class="org.springframework.batch.sample.mapping.TradeFieldSetMapper" />
|
||||
|
||||
<bean id="tradeDao"
|
||||
class="org.springframework.batch.sample.dao.JdbcTradeDao">
|
||||
<property name="jdbcTemplate" ref="jdbcTemplate" />
|
||||
<property name="incrementer">
|
||||
<bean parent="incrementerParent">
|
||||
<property name="incrementerName" value="TRADE_SEQ" />
|
||||
</bean>
|
||||
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="fieldSetMapper"
|
||||
class="org.springframework.batch.sample.mapping.TradeFieldSetMapper" />
|
||||
|
||||
</beans>
|
||||
Reference in New Issue
Block a user