EJB 3.0 - transação aninhada! = Requer novo?
Acabei de ler o Capítulo de Transações (10) de "Dominando o EJB 3.0" e agora estou confuso sobre transações aninhadas.
O livro diz
"O gerenciador de transações definido pelo EJB não suporta transações aninhadas; ele requer suporte apenas para transações simples." (Site 278, Nota)
Este fato é descrito não apenas por este livro, encontrei esta afirmação em outros livros / sites.
Mas se eu chamo um método anotado "Requer Novo" de um, digamos, Methode anotado "Obrigatório", o que eu tenho é uma transação aninhada, não é? Eu posso reverter a transação interna ou cometê-la, sem afetar a transação externa. E se eu quiser que a Transação externa seja abortada, eu lanço uma EJBException de volta e a transação inteira será revertida.
Então é só que esse comportamento énão requerido pela especificação EJB 3.0 ou eu entendi mal alguma coisa? Eu simplesmente não consigo a diferença entre transações aninhadas e o comportamento descrito.
Atenciosamente Norman