Add XML support for partition step in samples
This commit is contained in:
@@ -1,115 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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"
|
||||
<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.1.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<job id="partitionJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step" parent="step1:master" />
|
||||
<step id="step">
|
||||
<partition step="step1" partitioner="partitioner">
|
||||
<handler grid-size="2" task-executor="taskExecutor" />
|
||||
</partition>
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<bean name="step1:master"
|
||||
class="org.springframework.batch.core.partition.support.PartitionStep">
|
||||
<property name="jobRepository" ref="jobRepository" />
|
||||
<property name="stepExecutionSplitter">
|
||||
<bean
|
||||
class="org.springframework.batch.core.partition.support.SimpleStepExecutionSplitter">
|
||||
<property name="jobRepository" ref="jobRepository" />
|
||||
<property name="stepName" value="step1" />
|
||||
<property name="partitioner">
|
||||
<bean
|
||||
class="org.springframework.batch.core.partition.support.MultiResourcePartitioner">
|
||||
<property name="resources"
|
||||
value="classpath:data/iosample/input/delimited*.csv" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
<property name="partitionHandler">
|
||||
<bean
|
||||
class="org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler">
|
||||
<property name="taskExecutor">
|
||||
<bean class="org.springframework.core.task.SyncTaskExecutor" />
|
||||
</property>
|
||||
<property name="step" ref="step1" />
|
||||
<property name="gridSize" value="2" />
|
||||
</bean>
|
||||
</property>
|
||||
<bean id="partitioner" class="org.springframework.batch.core.partition.support.MultiResourcePartitioner">
|
||||
<property name="resources" value="classpath:data/iosample/input/delimited*.csv" />
|
||||
</bean>
|
||||
|
||||
<bean id="taskExecutor" class="org.springframework.core.task.SyncTaskExecutor" />
|
||||
|
||||
<step id="step1" xmlns="http://www.springframework.org/schema/batch">
|
||||
<tasklet transaction-manager="transactionManager">
|
||||
<chunk writer="itemWriter" reader="itemReader" processor="itemProcessor"
|
||||
commit-interval="5" />
|
||||
<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">
|
||||
<bean id="fileNameListener" class="org.springframework.batch.sample.common.OutputFileListener" scope="step">
|
||||
<property name="path" value="file:./target/output/file/" />
|
||||
</bean>
|
||||
|
||||
|
||||
<bean id="itemReader" scope="step" autowire-candidate="false"
|
||||
parent="itemReaderParent">
|
||||
<bean id="itemReader" scope="step" autowire-candidate="false" parent="itemReaderParent">
|
||||
<property name="resource" value="#{stepExecutionContext[fileName]}" />
|
||||
</bean>
|
||||
|
||||
<bean id="inputTestReader"
|
||||
class="org.springframework.batch.item.file.MultiResourceItemReader">
|
||||
<bean id="inputTestReader" class="org.springframework.batch.item.file.MultiResourceItemReader">
|
||||
<property name="resources" value="classpath:data/iosample/input/delimited*.csv" />
|
||||
<property name="delegate" ref="testItemReader" />
|
||||
</bean>
|
||||
|
||||
<bean id="outputTestReader"
|
||||
class="org.springframework.batch.item.file.MultiResourceItemReader"
|
||||
scope="prototype">
|
||||
<bean id="outputTestReader" class="org.springframework.batch.item.file.MultiResourceItemReader" scope="prototype">
|
||||
<property name="resources" value="file:target/output/file/delimited*.csv" />
|
||||
<property name="delegate" ref="testItemReader" />
|
||||
</bean>
|
||||
|
||||
<bean id="testItemReader" parent="itemReaderParent" />
|
||||
|
||||
<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">
|
||||
<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="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.item.file.FlatFileItemWriter"
|
||||
scope="step">
|
||||
<bean id="itemWriter" class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step">
|
||||
<property name="resource" value="#{stepExecutionContext[outputFile]}" />
|
||||
<property name="lineAggregator">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
|
||||
<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">
|
||||
<bean class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
|
||||
<property name="names" value="name,credit" />
|
||||
</bean>
|
||||
</property>
|
||||
|
||||
@@ -1,62 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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"
|
||||
<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.1.xsd
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<job id="partitionJdbcJob" xmlns="http://www.springframework.org/schema/batch">
|
||||
<step id="step" parent="step1:master" />
|
||||
<step id="step">
|
||||
<partition step="step1" partitioner="partitioner">
|
||||
<handler grid-size="2" task-executor="taskExecutor"/>
|
||||
</partition>
|
||||
</step>
|
||||
</job>
|
||||
|
||||
<bean name="step1:master"
|
||||
class="org.springframework.batch.core.partition.support.PartitionStep">
|
||||
<property name="jobRepository" ref="jobRepository" />
|
||||
<property name="stepExecutionSplitter">
|
||||
<bean
|
||||
class="org.springframework.batch.core.partition.support.SimpleStepExecutionSplitter">
|
||||
<property name="jobRepository" ref="jobRepository" />
|
||||
<property name="stepName" value="step1" />
|
||||
<property name="partitioner">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.common.ColumnRangePartitioner">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="table" value="CUSTOMER" />
|
||||
<property name="column" value="ID" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
<property name="partitionHandler">
|
||||
<bean
|
||||
class="org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler">
|
||||
<property name="taskExecutor">
|
||||
<bean class="org.springframework.core.task.SyncTaskExecutor" />
|
||||
</property>
|
||||
<property name="step" ref="step1" />
|
||||
<property name="gridSize" value="2" />
|
||||
</bean>
|
||||
</property>
|
||||
<bean id="partitioner" class="org.springframework.batch.sample.common.ColumnRangePartitioner">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="table" value="CUSTOMER" />
|
||||
<property name="column" value="ID" />
|
||||
</bean>
|
||||
|
||||
<bean id="taskExecutor" class="org.springframework.core.task.SyncTaskExecutor" />
|
||||
|
||||
<step id="step1" xmlns="http://www.springframework.org/schema/batch">
|
||||
<tasklet transaction-manager="transactionManager">
|
||||
<chunk writer="itemWriter" reader="itemReader" processor="itemProcessor"
|
||||
commit-interval="5" />
|
||||
<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">
|
||||
<bean id="fileNameListener" class="org.springframework.batch.sample.common.OutputFileListener" scope="step">
|
||||
<property name="path" value="file:./target/output/jdbc/" />
|
||||
</bean>
|
||||
|
||||
<bean id="itemReader" scope="step" autowire-candidate="false"
|
||||
parent="itemReaderParent">
|
||||
<bean id="itemReader" scope="step" autowire-candidate="false" parent="itemReaderParent">
|
||||
<property name="sql">
|
||||
<value>
|
||||
<![CDATA[
|
||||
@@ -65,8 +43,7 @@
|
||||
</value>
|
||||
</property>
|
||||
<property name="preparedStatementSetter">
|
||||
<bean
|
||||
class="org.springframework.batch.core.resource.ListPreparedStatementSetter">
|
||||
<bean class="org.springframework.batch.core.resource.ListPreparedStatementSetter">
|
||||
<property name="parameters">
|
||||
<list>
|
||||
<value>#{stepExecutionContext[minValue]}</value>
|
||||
@@ -78,9 +55,7 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="outputTestReader"
|
||||
class="org.springframework.batch.item.file.MultiResourceItemReader"
|
||||
scope="prototype">
|
||||
<bean id="outputTestReader" class="org.springframework.batch.item.file.MultiResourceItemReader" scope="prototype">
|
||||
<property name="resources" value="file:target/output/jdbc/*.csv" />
|
||||
<property name="delegate" ref="testItemReader" />
|
||||
</bean>
|
||||
@@ -89,17 +64,14 @@
|
||||
<property name="lineMapper">
|
||||
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
|
||||
<property name="lineTokenizer">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
|
||||
<property name="delimiter" value="," />
|
||||
<property name="names" value="id,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>
|
||||
@@ -116,29 +88,22 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="itemReaderParent"
|
||||
class="org.springframework.batch.item.database.JdbcCursorItemReader"
|
||||
abstract="true">
|
||||
<bean id="itemReaderParent" class="org.springframework.batch.item.database.JdbcCursorItemReader" abstract="true">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="rowMapper">
|
||||
<bean
|
||||
class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditRowMapper" />
|
||||
<bean class="org.springframework.batch.sample.domain.trade.internal.CustomerCreditRowMapper" />
|
||||
</property>
|
||||
</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.item.file.FlatFileItemWriter"
|
||||
scope="step">
|
||||
<bean id="itemWriter" class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step">
|
||||
<property name="resource" value="#{stepExecutionContext[outputFile]}" />
|
||||
<property name="lineAggregator">
|
||||
<bean
|
||||
class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
|
||||
<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">
|
||||
<bean class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
|
||||
<property name="names" value="id,name,credit" />
|
||||
</bean>
|
||||
</property>
|
||||
|
||||
Reference in New Issue
Block a user