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

questionAnswers(2)

yourAnswerToTheQuestion