Spring Batch Admin 을 통합한 Spring Batch 프로젝트에서

아래와 같은 경우 @Transactional 어노테이션이 정상적으로 작동하지 않는 경우가 있습니다.

 


 

1. 기존 Spring Batch Admin 라이브러리 내부에 transactionManager가 선언되어 있기 때문에 다른 이름으로 TransactionManager를 선언하여 사용

2. 위와 같이 선언하고 아래와 같이 어노테이션을 사용하여 트랜젝션을 설정

 

이와 같은 경우에 아무리 Exception를 throw해도 rollback이 안됩니다.

 


 

※이런 경우 아래와 같이 Step 설정 시 해당 TransactionManager를 정의하면 이슈를 해결할 수 있습니다.

( transactionManager 속성을 정의하지 않으면 기본으로 “transactionManager” 빈을 inject 하기 때문에 발생한 이슈입니다. )

 

 

 


댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.