maxItemCount属性不适用于JdbcPagingItemReader

时间:2016-07-01 07:59:25

标签: spring-batch

我正在设置JdbcPagingItemReader的maxItemCount属性。

我将它设置为200但我正在阅读/处理/写入203,205。

大部分时间我都会得到200分,但我总能得到200分左右。

为什么会这样?

我已经检查过,203-205处理的sortkey没有相同的timestamp值,而max.item.count字段在数据库表的batch_execution_context条目中不存在。

有一个JdbcPagingItemReader.read.count.max字段,但它设置为200.

我正在使用oracle。

<bean id="batchReader" class="org.springframework.batch.item.database.JdbcPagingItemReader" scope="step">
        <property name="dataSource" ref="myDataSource"/>
        <property name="queryProvider">
            <bean class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean">
                <property name="dataSource" ref="myDataSource"/>
                <property name="selectClause" value="select *" />
                <property name="fromClause" value="from TRANSACTION" />
                <property name="whereClause" value="where STATUS = 'OK' and TYPE = 200 " />
                <property name="sortKey" value="TRANSACTION_TIMESTAMP"/>

            </bean>
        </property>
        <!-- Inject via the ExecutionContext in rangePartitioner -->
        <property name="parameterValues">
            <map>

            </map>
        </property>
        <property name="maxItemCount" value="200"/>
        <property name="pageSize" value="50"/>
        <property name="rowMapper">
            <bean class="com.mappers.TransactionMapper" scope="step"/>
        </property>
    </bean>

0 个答案:

没有答案