我正在处理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。 我调试我的代码很多时间但没有任何理由。即使我在控制台上没有任何异常。