Java/Spring Framework
Exception on batch processing UnexpectedRollbackException - Transaction rolled back
bboks.net
2016. 1. 18. 18:41
ServiceA에 @Transactional 설정. ServiceB에 @Transactional 설정.
Controller -> ServiceA -> ServiceB 호출.
ServiceB에서 exception throw, ServiceA에서 try-catch로 예외를 잡아서 처리.
Controller에서 "transaction rolled back because it has been marked as rollback-only" 예외 발생.
구글링 결과 propagation required가 문제(스프링은 기본값으로 required).
결과적으로 ServiceB의 @Transactional을 삭제. 정상적으로 동작하는 것 확인!
[참고] Exception on batch processing UnexpectedRollbackException - Transaction rolled back