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 ??