Atualizar um objeto dentro do novo escopo transacional
Eu tenho um problema relacionado aos limites transacionais e não consigo descobrir o que está errado.
@Transactional( propagation = Propagation.REQUIRED )
Class A {
void methodA() {
try {
new B().callMethodB(obj)
} catch(Exception e) {
updateSomeProperty(obj1)
}
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
void updateSomeProperty(Object obj1) {
obj1.setProperty(1);
obj1.save();
}
}
Class B {
public void callMethodB(Object obj) throws Exception {
throws new Exception();
}
}
O problema é que meu objeto não está atualizando quando o erro é lançado. Eu também tentei disparar código SQL de dentro do métodoupdateSomeProperty
mas isso também não funcionou.
Basicamente eu quero atualizar a propriedade do objeto, mesmo que a exceção seja lançada.
Alguma ideia ??