를 최대 절전 모드로 봄 +에 새 트랜잭션을 생성하지 않으며REQUIRES_NEW이 나는 봄이와 응용 프로그램 (모두 최신 버전) 최대 절전 모드
@Component
public class Bean1{
@Autowired
Bean2 bean2;
@Transactional(propagation = Propagation.REQUIRED)
public void foo()
{
bean2.bar();
}
@Component
public class Bean2{
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void bar()
{
try{
// Do something which throws exception
}
catch (Exception e) {
log & eat the exception here only.
But inspite of this the outer transaciton gets rolled back
}
}
문제 아래에 언급 한 바와 같이 나는 2 콩이 것은 그 bean2.bar
은 (어떤 예외가 발생하는 경우 예 : foreign Key ConstraintViolationException
) "트랜잭션이 롤백 전용으로 표시 되었기 때문에 롤백 된 트랜잭션", "moreInfo": "}}"외부 트랜잭션을 롤백합니다.
최대 절전 모드 로그를 볼 때 단 한 행 '신규 거래'의 경우
새로운 트랜잭션을 의미D| o.s.o.h.HibernateTransactionManager- Creating new transaction with name ... PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
내가 여기 뭐가 잘못 찾을 수 없습니다 오전 내부 bean2.bar();
을 위해 만들어지고? 어떤 도움이라도 대단히 감사합니다.