Configured the below in my project:
<batch:no-rollback-exception-classes>
<batch:include class="java.sql.SQLException"/>
<batch:include class="org.springframework.dao.DuplicateKeyException"/>
<batch:include class="java.sql.SQLIntegrityConstraintViolationException"/>
</batch:no-rollback-exception-classes>
While loading the file, I have duplicate records, but since I have configured
org.springframework.dao.DuplicateKeyException
under no-rollback-exception-classes
, Spring batch should not rollback the records, but still the records are getting rollbacked. If I remove the DuplicateKeyException
from the list, then it is throwing the exception. We are using Spring batch version:
3.0.7.RELEASE
<batch:no-rollback-exception-classes>
<batch:include class="java.sql.SQLException"/>
<batch:include class="org.springframework.dao.DuplicateKeyException"/>
<batch:include class="java.sql.SQLIntegrityConstraintViolationException"/>
</batch:no-rollback-exception-classes>
Records are not expected to rollback, but records are rollbacked.