Может быть, я неправильно понимаю поведение Spring Requires_new. Вот мой код:
@Transactional(rollbackFor=Exception.class,propagation=Propagation.REQUIRED)
public void outterMethod() throws Exception{
innerMethod1();
innerMethod2();
}
@Transactional(rollbackFor=Exception.class,propagation=Propagation.REQUIRES_NEW)
public void innerMethod1() throws Exception{
testService.insert(new Testbo("test-2", new Date()));
}
@Transactional(rollbackFor=Exception.class,propagation=Propagation.REQUIRES_NEW)
public void innerMethod2() throws Exception{
testService.insert(new Testbo("test-2", new Date()));
throw new Exception();
}
Когда innnerMethod2 выбрасывает исключение, я подумал, что innerMethod1 все еще может совершить фиксацию. Но откат всех внешних и внутренних транзакций. Что я здесь не так? Как я могу зафиксировать innerMethod1 при откате innerMethod2?