Transaction Issue with Spring Batch JobRepository in Unit Test

与世无争的帅哥 提交于 2019-11-30 15:11:17
Haim Raman

AbstractTransactionalTestNGSpringContextTests wraps all your test methods in a transaction. Spring batch job repository does not like to share its transaction manager with others. The logic is simple, if you share your job transaction manager with your step transaction manager upon step failure it will rollback both the step and the data written to the job repository. This means that you will not persist data for job restart. So the use of Transactional Unit tests is tricky.

Look at the section 4.3.1. Transaction Configuration for the JobRepository of the Spring Batch documentation.

We had this issue as well, so we avoid transactional tests until we will found a solution. The use of multiply transaction managers may work, but I haven’t tried it yet see How to configure mutliple transaction managers with Spring + DBUnit + JUnit

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!