我使用Spring Batch将数据插入数据库。当我想要插入的数据中出现错误时(因此,没有插入数据),我希望作者停止整个工作。
这是我的工作:
<step id="recopyTotoStep">
<tasklet>
<chunk reader="totoReader"
processor="totoProcessor"
writer="totoWriter"
commit-interval="5000" />
</tasklet>
<next on="*" to="anotherStep" />
<end on="???" />
</step>
这是我的豆子:
<bean id="totoWriter"
class="org.springframework.batch.item.database.JpaItemWriter">
<property name="entityManagerFactory" ref="myEmf" />
</bean>
以下是我可以提供的例外情况:
java.lang.IllegalStateException:相同的多个表示 实体 [some_entity ...] 正在合并。管理: [other_entity ...];独立: [some_entity ...]
我知道我可以添加一个步骤“决定”(我将添加一些控件),它将解决我的问题,但我想确定不可能像我解释的那样。
答案 0 :(得分:1)
我就是这么做的,它就像我想要的那样。
<step id="recopyTotoStep">
<tasklet>
<chunk reader="totoReader"
processor="totoProcessor"
writer="totoWriter"
commit-interval="5000" />
</tasklet>
<next on="COMPLETED" to="anotherStep" />
<end on="*" />
</step>