Spring batch Spring批处理JdbcCursorItemReader向后移动光标

Spring batch Spring批处理JdbcCursorItemReader向后移动光标,spring-batch,Spring Batch,在spring中,批处理JdbcCursorItemReader是ResultSet处理类型仅为“前进” 在我的例子中,我需要将光标指向后面1行,因此我想将TYPE_SCROLL_设置为敏感,这样我就可以返回 你知道如何在SpringBatch或其他解决方案中实现吗 <bean id="databaseItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">

在spring中,批处理JdbcCursorItemReader是ResultSet处理类型仅为“前进”

在我的例子中,我需要将光标指向后面1行,因此我想将TYPE_SCROLL_设置为敏感,这样我就可以返回

你知道如何在SpringBatch或其他解决方案中实现吗

<bean id="databaseItemReader"
        class="org.springframework.batch.item.database.JdbcCursorItemReader">
        <property name="dataSource" ref="dataSource" />
        <property name="sql"
            value="select * from document udd, field uff where uff.docid = udd.docid AND uff.field_name IN ('address','contractNb','city','locale','login','mobile','name','phone') ORDER BY udd.docid, uff.field_name ASC" />
        <property name="rowMapper">
            <bean class="com.migration.springbatch.UDocumentResultRowMapper" />
        </property>
        <property name="verifyCursorPosition" value="false"/>
    </bean>
Spring批处理中ItemReader的契约仅为forward,而JdbcCursorItemReader是根据该契约实现的,因此类型仅为_forward_。因此,一旦光标打开,就不可能将其倒回

也就是说,当底层资源是事务性的(如数据库或JMS队列)时,在回滚场景中,调用read可能会在后续调用中返回相同的逻辑项

请在此处的文档中查找更多详细信息: