Valeu pela força pessoal, ainda não deu certo, mas aos poucos to
entendendo como as coisas funcionam.
Meu código se encontra em
http://pastebin.com/MsQUwZPY
Conforme a explicação do Assis, fiz uma nova classe (linha 66) para
utilizar o método saveInterFace(), anotando a classe com o escopo
METHOD e o método com
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW), que
segundo li tem o seguinte comportamento:
"Esse atributo é usado quando queremos garantir que determinado método
será executado em uma nova transação. Quando um método que possui este
atributo de transação é invocado, o container executa os seguintes
passos:
1. A transação atual é suspensa.
2. É criada uma nova transação
3. O método é invocado
4. O método invocado realiza o commit ou rollback desta nova
transação
5. A transação anterior é retomada"
Como o Márcio citou, estou usando CMT e agora anotei a classe
ReadingDevicesAction com @EJB, mas é importante ressaltar que utilizo
a estrutura WAR, é possível transformar uma classe num EJB nessa
estrutura WAR? Eu utilizo o Jboss AS 5.1.
O problema é que o quando chega dou um entityManager.flush() (linha
81), os dados não são comitados no banco, e toda a verificação se o
Comando foi inserido não funciona, ou seja, o containar acaba não
gerenciando a transação.
Abraços!
On 10 set, 18:45, Márcio Dantas <
marci...@gmail.com> wrote:
> cara, dei uma olhada no código e tem uma parte estranha em relação as
> transações.
> Você tá usando transações gerenciadas pelo container (CMT) em
>
> 1. @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
> 2. public void saveInterFace(InterFace i, Register r) {
>
> não precisa dentro do método recuperar a transação e trabalhar com ela
> programaticamente.
> Vc deve tirar aquele código.
>
> Outra coisa, tá parecendo que a classe ReadingDevicesAction não é um EJB...
> e @TransactionAttribute é uma anotação para o container EJB gerenciar a
> transação.
>
> Posta também no site o código de quem está chamando ReadingDevicesAction.
>
> abs
>
> Em 10 de setembro de 2010 18:13, Assis Júnior <
assisp...@gmail.com>escreveu:
>
> > tenta:
http://pastebin.com/nxmQFMK1
> >> - Grupo Java Brazil emhttp://
groups.google.com/group/thejavabrazil