RESOLVED - issue BATCH-50: Allow fixed-length file columns with column ranges
http://opensource.atlassian.com/projects/spring/browse/BATCH-50 Applied patch (and moved property editor).
This commit is contained in:
@@ -76,13 +76,13 @@
|
||||
<bean id="fixedFileDescriptor"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN,Quantity,price, CUSTOMER" />
|
||||
<property name="lengths" value="12, 3, 5, 9" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedFileDescriptor2"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="Title, FirstName, LastName, Age, Address.AddrLine1, children[0].name, children[1].name" />
|
||||
<property name="lengths" value="5, 15, 20, 5, 10, 10, 10" />
|
||||
<property name="columns" value="1-5, 6-20, 21-40, 41-45, 46-55, 56-65, 66-75" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedValidator" class="org.springframework.batch.item.validator.SpringValidator">
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
<bean id="fixedFileDescriptor" class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<property name="lengths" value="12, 3, 5, 9" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedValidator" class="org.springframework.batch.item.validator.SpringValidator">
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
<bean id="fixedFileDescriptor" class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<property name="lengths" value="12, 3, 5, 9" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedValidator" class="org.springframework.batch.item.validator.SpringValidator">
|
||||
|
||||
@@ -65,18 +65,18 @@
|
||||
|
||||
<bean id="beginRecordDescriptor"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="lengths" value="5" />
|
||||
<property name="columns" value="1-5" />
|
||||
</bean>
|
||||
|
||||
<bean id="endRecordDescriptor"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="lengths" value="3" />
|
||||
<property name="columns" value="1-3" />
|
||||
</bean>
|
||||
|
||||
<bean id="tradeRecordDescriptor"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN,Quantity,Price,Customer" />
|
||||
<property name="lengths" value="12,3,5,9" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean parent="customEditorConfigurer"/>
|
||||
|
||||
@@ -1,71 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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">
|
||||
|
||||
<bean id="orderFileDescriptor"
|
||||
class="org.springframework.batch.io.file.support.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" />
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="defaultLineDescriptor"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="lengths" value="120"/>
|
||||
</bean>
|
||||
|
||||
<bean id="parentLineDescriptor" abstract="true"
|
||||
class="org.springframework.batch.io.file.support.transform.DelimitedLineTokenizer">
|
||||
<property name="delimiter" value=";"/>
|
||||
</bean>
|
||||
|
||||
<bean id="headerRecordDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,ORDER_ID,ORDER_DATE" />
|
||||
</bean>
|
||||
|
||||
<bean id="footerRecordDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,TOTAL_LINE_ITEMS,TOTAL_ITEMS,TOTAL_PRICE" />
|
||||
</bean>
|
||||
|
||||
<bean id="businessCustomerLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,COMPANY_NAME,REG_ID,VIP" />
|
||||
</bean>
|
||||
|
||||
<bean id="customerLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,LAST_NAME,FIRST_NAME,MIDDLE_NAME,REGISTERED,REG_ID,VIP" />
|
||||
</bean>
|
||||
|
||||
<bean id="billingAddressLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,ADDRESSEE,ADDR_LINE1,ADDR_LINE2,CITY,ZIP_CODE,STATE,COUNTRY" />
|
||||
</bean>
|
||||
|
||||
<bean id="shippingAddressLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,ADDRESSEE,ADDR_LINE1,ADDR_LINE2,CITY,ZIP_CODE,STATE,COUNTRY" />
|
||||
</bean>
|
||||
|
||||
<bean id="billingLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,PAYMENT_TYPE_ID,PAYMENT_DESC" />
|
||||
</bean>
|
||||
|
||||
<bean id="shippingLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,SHIPPER_ID,SHIPPING_TYPE_ID,ADDITIONAL_SHIPPING_INFO" />
|
||||
</bean>
|
||||
|
||||
<bean id="itemLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names"
|
||||
value="LINE_ID,ITEM_ID,PRICE,DISCOUNT_PERC,DISCOUNT_AMOUNT,SHIPPING_PRICE,HANDLING_PRICE,QUANTITY,TOTAL_PRICE" />
|
||||
</bean>
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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">
|
||||
|
||||
<bean id="orderFileDescriptor"
|
||||
class="org.springframework.batch.io.file.support.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" />
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="defaultLineDescriptor"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="columns" value="1-120" />
|
||||
</bean>
|
||||
|
||||
<bean id="parentLineDescriptor" abstract="true"
|
||||
class="org.springframework.batch.io.file.support.transform.DelimitedLineTokenizer">
|
||||
<property name="delimiter" value=";"/>
|
||||
</bean>
|
||||
|
||||
<bean id="headerRecordDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,ORDER_ID,ORDER_DATE" />
|
||||
</bean>
|
||||
|
||||
<bean id="footerRecordDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,TOTAL_LINE_ITEMS,TOTAL_ITEMS,TOTAL_PRICE" />
|
||||
</bean>
|
||||
|
||||
<bean id="businessCustomerLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,COMPANY_NAME,REG_ID,VIP" />
|
||||
</bean>
|
||||
|
||||
<bean id="customerLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,LAST_NAME,FIRST_NAME,MIDDLE_NAME,REGISTERED,REG_ID,VIP" />
|
||||
</bean>
|
||||
|
||||
<bean id="billingAddressLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,ADDRESSEE,ADDR_LINE1,ADDR_LINE2,CITY,ZIP_CODE,STATE,COUNTRY" />
|
||||
</bean>
|
||||
|
||||
<bean id="shippingAddressLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,ADDRESSEE,ADDR_LINE1,ADDR_LINE2,CITY,ZIP_CODE,STATE,COUNTRY" />
|
||||
</bean>
|
||||
|
||||
<bean id="billingLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,PAYMENT_TYPE_ID,PAYMENT_DESC" />
|
||||
</bean>
|
||||
|
||||
<bean id="shippingLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names" value="LINE_ID,SHIPPER_ID,SHIPPING_TYPE_ID,ADDITIONAL_SHIPPING_INFO" />
|
||||
</bean>
|
||||
|
||||
<bean id="itemLineDescriptor" parent="parentLineDescriptor">
|
||||
<property name="names"
|
||||
value="LINE_ID,ITEM_ID,PRICE,DISCOUNT_PERC,DISCOUNT_AMOUNT,SHIPPING_PRICE,HANDLING_PRICE,QUANTITY,TOTAL_PRICE" />
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
@@ -1,39 +1,39 @@
|
||||
<?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:p="http://www.springframework.org/schema/p" 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/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
|
||||
|
||||
<util:map id="outputDescriptors">
|
||||
<entry key="header" value-ref="outputHeader" />
|
||||
<entry key="footer" value-ref="outputFooter" />
|
||||
<entry key="customer" value-ref="outputCustomer" />
|
||||
<entry key="address" value-ref="outputAddress" />
|
||||
<entry key="billing" value-ref="outputBilling" />
|
||||
<entry key="item" value-ref="outputLineItem" />
|
||||
</util:map>
|
||||
|
||||
<bean id="outputHeader" class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:lengths="12,10,30" />
|
||||
|
||||
<bean id="outputFooter"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:lengths="10,20" />
|
||||
|
||||
<bean id="outputCustomer" class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:lengths="9,10,10,10,10" />
|
||||
|
||||
<bean id="outputAddress"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:lengths="8,20,10,10" />
|
||||
|
||||
<bean id="outputBilling"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:lengths="8,10,20" />
|
||||
|
||||
<bean id="outputLineItem"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:lengths="5,10,10" />
|
||||
|
||||
<?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:p="http://www.springframework.org/schema/p" 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/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
|
||||
|
||||
<util:map id="outputDescriptors">
|
||||
<entry key="header" value-ref="outputHeader" />
|
||||
<entry key="footer" value-ref="outputFooter" />
|
||||
<entry key="customer" value-ref="outputCustomer" />
|
||||
<entry key="address" value-ref="outputAddress" />
|
||||
<entry key="billing" value-ref="outputBilling" />
|
||||
<entry key="item" value-ref="outputLineItem" />
|
||||
</util:map>
|
||||
|
||||
<bean id="outputHeader" class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:columns="1-12,13-22,23-52" />
|
||||
|
||||
<bean id="outputFooter"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:columns="1-10,11-30" />
|
||||
|
||||
<bean id="outputCustomer" class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:columns="1-9,10-19,20-29,30-39,40-49" />
|
||||
|
||||
<bean id="outputAddress"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:columns="1-8,9-28,29-38,39-48" />
|
||||
|
||||
<bean id="outputBilling"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:columns="1-8,9-18,19-38" />
|
||||
|
||||
<bean id="outputLineItem"
|
||||
class="org.springframework.batch.io.file.support.transform.FixedLengthLineAggregator"
|
||||
p:columns="1-5,6-15,16-25" />
|
||||
|
||||
</beans>
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
<bean id="fixedFileDescriptor" class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<property name="lengths" value="12, 3, 5, 9" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean id="fixedValidator" class="org.springframework.batch.item.validator.SpringValidator">
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
<bean id="tradeTokenizer" class="org.springframework.batch.io.file.support.transform.FixedLengthTokenizer">
|
||||
<property name="names" value="ISIN, Quantity, Price, Customer" />
|
||||
<property name="lengths" value="12, 3, 5, 9" />
|
||||
<property name="columns" value="1-12, 13-15, 16-20, 21-29" />
|
||||
</bean>
|
||||
|
||||
<bean id="tradeLogAdvice"
|
||||
|
||||
@@ -1,132 +1,135 @@
|
||||
<?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">
|
||||
|
||||
<import resource="data-source-context.xml" />
|
||||
<?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">
|
||||
|
||||
<!-- register the step scope with the application context -->
|
||||
<bean class="org.springframework.batch.execution.scope.StepScope" />
|
||||
|
||||
<bean id="jobExecutorFacade" class="org.springframework.batch.execution.facade.SimpleJobExecutorFacade">
|
||||
<property name="jobRepository" ref="simpleJobRepository" />
|
||||
<property name="jobConfigurationLocator" ref="jobConfigurationRegistry"/>
|
||||
<property name="jobExecutor" ref="jobExecutor" />
|
||||
</bean>
|
||||
|
||||
<bean class="org.springframework.batch.execution.bootstrap.SimpleJobLauncher">
|
||||
<property name="jobExecutorFacade" ref="jobExecutorFacade" />
|
||||
</bean>
|
||||
|
||||
<bean id="jobConfigurationRegistry" class="org.springframework.batch.execution.configuration.MapJobConfigurationRegistry"/>
|
||||
|
||||
<aop:config>
|
||||
<aop:advisor pointcut="execution(* org.springframework.batch.execution..*Repository+.*(..))"
|
||||
advice-ref="txAdvice" />
|
||||
</aop:config>
|
||||
<tx:advice id="txAdvice" transaction-manager="transactionManager">
|
||||
<tx:attributes>
|
||||
<tx:method name="*" />
|
||||
</tx:attributes>
|
||||
</tx:advice>
|
||||
|
||||
<bean id="jobExecutor" class="org.springframework.batch.execution.job.DefaultJobExecutor">
|
||||
<property name="jobRepository" ref="simpleJobRepository" />
|
||||
<property name="stepExecutorFactory">
|
||||
<bean class="org.springframework.batch.execution.step.PrototypeBeanStepExecutorFactory">
|
||||
<property name="stepExecutorName" value="stepExecutor" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="stepExecutor" class="org.springframework.batch.execution.step.simple.SimpleStepExecutor"
|
||||
scope="prototype">
|
||||
<property name="transactionManager" ref="transactionManager" />
|
||||
<property name="repository" ref="simpleJobRepository" />
|
||||
</bean>
|
||||
|
||||
<bean id="simpleJobRepository" class="org.springframework.batch.execution.repository.SimpleJobRepository">
|
||||
<constructor-arg ref="jobDao" />
|
||||
<constructor-arg ref="stepDao" />
|
||||
</bean>
|
||||
|
||||
<bean id="jobDao" class="org.springframework.batch.execution.repository.dao.SqlJobDao">
|
||||
<property name="jdbcTemplate" ref="jdbcTemplate" />
|
||||
<property name="jobIncrementer" ref="jobIncrementer" />
|
||||
<property name="jobExecutionIncrementer" ref="jobExecutionIncrementer" />
|
||||
</bean>
|
||||
|
||||
<bean id="stepDao" class="org.springframework.batch.execution.repository.dao.SqlStepDao">
|
||||
<property name="jdbcTemplate" ref="jdbcTemplate" />
|
||||
<property name="stepIncrementer" ref="stepIncrementer" />
|
||||
<import resource="data-source-context.xml" />
|
||||
|
||||
<!-- register the step scope with the application context -->
|
||||
<bean class="org.springframework.batch.execution.scope.StepScope" />
|
||||
|
||||
<bean id="jobExecutorFacade" class="org.springframework.batch.execution.facade.SimpleJobExecutorFacade">
|
||||
<property name="jobRepository" ref="simpleJobRepository" />
|
||||
<property name="jobConfigurationLocator" ref="jobConfigurationRegistry"/>
|
||||
<property name="jobExecutor" ref="jobExecutor" />
|
||||
</bean>
|
||||
|
||||
<bean class="org.springframework.batch.execution.bootstrap.SimpleJobLauncher">
|
||||
<property name="jobExecutorFacade" ref="jobExecutorFacade" />
|
||||
</bean>
|
||||
|
||||
<bean id="jobConfigurationRegistry" class="org.springframework.batch.execution.configuration.MapJobConfigurationRegistry"/>
|
||||
|
||||
<aop:config>
|
||||
<aop:advisor pointcut="execution(* org.springframework.batch.execution..*Repository+.*(..))"
|
||||
advice-ref="txAdvice" />
|
||||
</aop:config>
|
||||
<tx:advice id="txAdvice" transaction-manager="transactionManager">
|
||||
<tx:attributes>
|
||||
<tx:method name="*" />
|
||||
</tx:attributes>
|
||||
</tx:advice>
|
||||
|
||||
<bean id="jobExecutor" class="org.springframework.batch.execution.job.DefaultJobExecutor">
|
||||
<property name="jobRepository" ref="simpleJobRepository" />
|
||||
<property name="stepExecutorFactory">
|
||||
<bean class="org.springframework.batch.execution.step.PrototypeBeanStepExecutorFactory">
|
||||
<property name="stepExecutorName" value="stepExecutor" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="stepExecutor" class="org.springframework.batch.execution.step.simple.SimpleStepExecutor"
|
||||
scope="prototype">
|
||||
<property name="transactionManager" ref="transactionManager" />
|
||||
<property name="repository" ref="simpleJobRepository" />
|
||||
</bean>
|
||||
|
||||
<bean id="simpleJobRepository" class="org.springframework.batch.execution.repository.SimpleJobRepository">
|
||||
<constructor-arg ref="jobDao" />
|
||||
<constructor-arg ref="stepDao" />
|
||||
</bean>
|
||||
|
||||
<bean id="jobDao" class="org.springframework.batch.execution.repository.dao.SqlJobDao">
|
||||
<property name="jdbcTemplate" ref="jdbcTemplate" />
|
||||
<property name="jobIncrementer" ref="jobIncrementer" />
|
||||
<property name="jobExecutionIncrementer" ref="jobExecutionIncrementer" />
|
||||
</bean>
|
||||
|
||||
<bean id="stepDao" class="org.springframework.batch.execution.repository.dao.SqlStepDao">
|
||||
<property name="jdbcTemplate" ref="jdbcTemplate" />
|
||||
<property name="stepIncrementer" ref="stepIncrementer" />
|
||||
<property name="stepExecutionIncrementer" ref="stepExecutionIncrementer" />
|
||||
<property name="jobDao" ref="jobDao"/>
|
||||
</bean>
|
||||
|
||||
<bean id="jobRuntimeInformationFactory"
|
||||
class="org.springframework.batch.execution.runtime.ScheduledJobIdentifierFactory">
|
||||
<property name="jobStream" value="TestStream" />
|
||||
<property name="scheduleDate" value="20070505" />
|
||||
<property name="jobRun" value="1" />
|
||||
</bean>
|
||||
|
||||
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<bean id="simpleJob" class="org.springframework.batch.core.configuration.JobConfiguration"
|
||||
abstract="true">
|
||||
<property name="restartable" value="true" />
|
||||
</bean>
|
||||
|
||||
<bean id="simpleStep" class="org.springframework.batch.execution.step.SimpleStepConfiguration"
|
||||
abstract="true">
|
||||
<property name="allowStartIfComplete" value="true" />
|
||||
<property name="saveRestartData" value="false" />
|
||||
<property name="exceptionHandler">
|
||||
<bean
|
||||
class="org.springframework.batch.repeat.exception.handler.SimpleLimitExceptionHandler">
|
||||
<property name="limit" value="5" />
|
||||
<property name="useParent" value="true"/>
|
||||
</bean>
|
||||
</property>
|
||||
<property name="commitInterval" value="1" />
|
||||
</bean>
|
||||
|
||||
<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
|
||||
<property name="customEditors">
|
||||
<map>
|
||||
<entry key="int[]">
|
||||
<bean class="org.springframework.batch.support.IntArrayPropertyEditor" />
|
||||
</entry>
|
||||
<entry key="java.util.Date">
|
||||
<bean class="org.springframework.beans.propertyeditors.CustomDateEditor">
|
||||
<constructor-arg>
|
||||
<bean class="java.text.SimpleDateFormat">
|
||||
<constructor-arg value="yyyyMMdd" />
|
||||
</bean>
|
||||
</constructor-arg>
|
||||
<constructor-arg value="false" />
|
||||
</bean>
|
||||
</entry>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="itemProcessorLogAdvice" class="org.springframework.batch.sample.advice.ProcessorLogAdvice" />
|
||||
|
||||
<aop:config>
|
||||
<aop:aspect id="moduleLogging" ref="itemProcessorLogAdvice">
|
||||
|
||||
<aop:after
|
||||
pointcut="execution( * org.springframework.batch.item.ItemProcessor+.process(Object)) and args(item)"
|
||||
method="doStronglyTypedLogging" />
|
||||
|
||||
</aop:aspect>
|
||||
</aop:config>
|
||||
|
||||
</beans>
|
||||
<property name="jobDao" ref="jobDao"/>
|
||||
</bean>
|
||||
|
||||
<bean id="jobRuntimeInformationFactory"
|
||||
class="org.springframework.batch.execution.runtime.ScheduledJobIdentifierFactory">
|
||||
<property name="jobStream" value="TestStream" />
|
||||
<property name="scheduleDate" value="20070505" />
|
||||
<property name="jobRun" value="1" />
|
||||
</bean>
|
||||
|
||||
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<bean id="simpleJob" class="org.springframework.batch.core.configuration.JobConfiguration"
|
||||
abstract="true">
|
||||
<property name="restartable" value="true" />
|
||||
</bean>
|
||||
|
||||
<bean id="simpleStep" class="org.springframework.batch.execution.step.SimpleStepConfiguration"
|
||||
abstract="true">
|
||||
<property name="allowStartIfComplete" value="true" />
|
||||
<property name="saveRestartData" value="false" />
|
||||
<property name="exceptionHandler">
|
||||
<bean
|
||||
class="org.springframework.batch.repeat.exception.handler.SimpleLimitExceptionHandler">
|
||||
<property name="limit" value="5" />
|
||||
<property name="useParent" value="true"/>
|
||||
</bean>
|
||||
</property>
|
||||
<property name="commitInterval" value="1" />
|
||||
</bean>
|
||||
|
||||
<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
|
||||
<property name="customEditors">
|
||||
<map>
|
||||
<entry key="int[]">
|
||||
<bean class="org.springframework.batch.support.IntArrayPropertyEditor" />
|
||||
</entry>
|
||||
<entry key="org.springframework.batch.io.file.support.transform.Range[]">
|
||||
<bean class="org.springframework.batch.io.file.support.transform.RangeArrayPropertyEditor" />
|
||||
</entry>
|
||||
<entry key="java.util.Date">
|
||||
<bean class="org.springframework.beans.propertyeditors.CustomDateEditor">
|
||||
<constructor-arg>
|
||||
<bean class="java.text.SimpleDateFormat">
|
||||
<constructor-arg value="yyyyMMdd" />
|
||||
</bean>
|
||||
</constructor-arg>
|
||||
<constructor-arg value="false" />
|
||||
</bean>
|
||||
</entry>
|
||||
</map>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="itemProcessorLogAdvice" class="org.springframework.batch.sample.advice.ProcessorLogAdvice" />
|
||||
|
||||
<aop:config>
|
||||
<aop:aspect id="moduleLogging" ref="itemProcessorLogAdvice">
|
||||
|
||||
<aop:after
|
||||
pointcut="execution( * org.springframework.batch.item.ItemProcessor+.process(Object)) and args(item)"
|
||||
method="doStronglyTypedLogging" />
|
||||
|
||||
</aop:aspect>
|
||||
</aop:config>
|
||||
|
||||
</beans>
|
||||
|
||||
Reference in New Issue
Block a user