HibernateCursorItemReader bean不从数据库中读取整个数据

时间:2015-06-30 14:18:56

标签: spring spring-batch

我正在处理spring批处理,我正在使用 org.springframework.batch.item.database.HibernateCursorItemReader 类从数据库中读取值。我的应用程序只是从数据库中读取值,在流程方法中应用一些业务逻辑并以所需格式写入文件。

问题是我的查询返回了350条记录,但我在文件中记录了60条记录。当我更改提交间隔值时,此值会有所不同。就像我将1作为提交间隔,然后40个记录正在获取进程,如果我将10作为提交间隔,那么160个记录正在进行处理。

我在其他帖子和谷歌搜索过但我没有得到我想要的东西。

我是春季批次的初学者。我正在分享我的代码请帮我解决这个问题

<batch:job id="job1">
    <batch:step id="recordProcessingStep" >
        <batch:tasklet >
            <batch:chunk reader="hibernateReader" processor="recordProcessor"
                writer="recordWriter" commit-interval="1" />
        </batch:tasklet>            
    </batch:step>

</batch:job>

<bean id="hibernateReader"        class="org.springframework.batch.item.database.HibernateCursorItemReader">
                <property name="sessionFactory" ref="sessionFactory" />
                <property name="queryString" value="From Transaction where transactionType='consumer'"/> 
                <property name="useStatelessSession" value="false" />
      </bean>
<bean id="recordProcessor" class="com.equifax.aspire.echostar.main.RecordProcessor">    

    </bean>

    <bean id="recordWriter" class="com.equifax.aspire.echostar.main.RecordWriter">
   </bean>

我的RecordProcessor实现了ItemProcessor,而RecordWriter类实现了ItemWriter。 我调试我的代码很多时间但没有任何理由。即使我在控制台上没有任何异常。

0 个答案:

没有答案