我有一个编写器,它获取记录列表并将记录保存到5个不同的表中。即,对于writeItems()方法接收的列表中的每条记录,将有5个插入查询到不同的表中。假设我的批处理是在处理输入中的第一个记录并在2个表中插入记录而未能在第3个表中插入,则前2个表中的记录不会被回滚。
我的baseContext.xml文件包含以下条目
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${batch.jdbc.driver}" />
<property name="url" value="${batch.jdbc.url}" />
<property name="username" value="${batch.jdbc.user}" />
<property name="password" value="${batch.jdbc.password}" />
<property name="testWhileIdle" value="${batch.jdbc.testWhileIdle}" />
<property name="validationQuery" value="${batch.jdbc.validationQuery}" />
<property name="defaultAutoCommit" value="${batch.jdbc.defaultAutoCommit}" />
<property name="removeAbandoned" value="${batch.jdbc.removeAbandoned}" />
<property name="initialSize" value="${batch.jdbc.pool.initialSize}" />
<property name="maxActive" value="${batch.jdbc.pool.maxActive}" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
我可以找到需要插入单个表的其他批处理作业成功回滚。请求您的帮助