5) Considere um web service responsavel por crédito e debito em uma conta corrente, que implementa os seguintes metodos:
public void debi t a r ( long idConta , double v a l o r ) { Conta conta = contaDao . buscaConta ( idConta ) ; i f ( conta . podeDebi tar ( v a l o r ) ) { conta . debi t e ( v a l o r ) ; contaDao . a t u a l i z a ( conta ) ; } el se { throw new SaldoInsuficienteEx c e p t i o n ( ) ; } }
public void c r e d i t a r ( long idConta , double valor ) { Conta conta = contaDao . buscaConta ( idConta ) ; conta . c r e d i t e ( v a l o r ) ; contaDao . a t u a l i z a ( conta ) ; }
Analise a solução, considerando concorrencia entre chamadas e escopo de transações