Transactions  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
natasha_sch
HelloWorld
[Avatar]

Membro desde: 26/01/2011 10:15:48
Mensagens: 11
Offline

Ola, eu ser nova aqui e preciso de ajuda Desculpe mas ainda estou estudando Portugues e
iniciei estudar EJB ha um mes... estou aprendendo sobre transactions, mas nao estou entendendo
porque o source abaixo nao funciona! Nao deveria persistir c1 e executar rollback para c ???

Obrigado,
Natasha

Daniel.F
GUJ Ranger

Membro desde: 29/03/2007 18:30:39
Mensagens: 909
Offline

Eu não entendi o que vem ser RollBack para C.

Eu não conheço o processo de transação com EJB, apenas com Spring.

Mas o seu código do primeiro método cria uma transação caso não exista, e caso o seu método seja chamada do seu método
possua transação ele será executado na transação corrente.

No seu primeiro método sempre será persistido o objeto c porque a exceção que você lança não é verificada.

Você está aprendendo português?



[Email]
santos.levi
JavaTeenager

Membro desde: 19/05/2008 16:27:01
Mensagens: 192
Offline

Anotou seu sessioBean?

[MSN]
natasha_sch
HelloWorld
[Avatar]

Membro desde: 26/01/2011 10:15:48
Mensagens: 11
Offline

Oi. Anotei!

REQUIRED_NEW deveria ser uma nova transaction e teria que ter COMMIT OK!
e ter ROLLBACK na REQUIRED. Certo?
Daniel.F
GUJ Ranger

Membro desde: 29/03/2007 18:30:39
Mensagens: 909
Offline

O required_new sempre vai criar uma nova trnsação, mesmo que o método em execução tenha sido chamado em contexto transacional.


[Email]
natasha_sch
HelloWorld
[Avatar]

Membro desde: 26/01/2011 10:15:48
Mensagens: 11
Offline

OK, mas o persist no test2() nao ocorre commit! É isso que nao consigo enterder!
Esta ocorrendo ROLLBACK nos test1() e test2().
Daniel.F
GUJ Ranger

Membro desde: 29/03/2007 18:30:39
Mensagens: 909
Offline

Se persistiu no banco de dados é porque salvou.
Como você que não está havendo commit??


[Email]
natasha_sch
HelloWorld
[Avatar]

Membro desde: 26/01/2011 10:15:48
Mensagens: 11
Offline

Nao esta persistindo nada!
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

natasha_sch wrote:Nao esta persistindo nada!

Como está o arquivo persistence.xml?

"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..."
natasha_sch
HelloWorld
[Avatar]

Membro desde: 26/01/2011 10:15:48
Mensagens: 11
Offline

Estou usando Hibernate e esta funcionando certo... o problema esta com essas transactions...
se eu drop (esqueci a palavra a linha da Exception, ocorre o COMMIT das duas entities...
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

natasha_sch wrote:Estou usando Hibernate e esta funcionando certo... o problema esta com essas transactions...
se eu drop (esqueci a palavra a linha da Exception, ocorre o COMMIT das duas entities...

você quis dizer apagar?

Prezada, pelo que eu entendi, ao lançar uma RuntimeException nada é persistido, ok?

Onde está o erro nisso?

"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..."
drigo.angelo
Virtual Machine Man
[Avatar]

Membro desde: 19/11/2009 12:17:08
Mensagens: 744
Localização: Uberlândia - MG
Offline

Posta o método que ta chamando esses metodos!!

depois que é lançada uma RuntimeException eu acho que o programa para de executar, se não houver um bloco catch..

@drigoangelo

IE6 no more
[Email] [MSN]
natasha_sch
HelloWorld
[Avatar]

Membro desde: 26/01/2011 10:15:48
Mensagens: 11
Offline

Isso drop = apagar

Isso mesmo... mas deveria persistir porque REQUIRES_NEW nao inicia uma new transaction independente???
Entao o certo nao seria c1 persiste e c nao!
natasha_sch
HelloWorld
[Avatar]

Membro desde: 26/01/2011 10:15:48
Mensagens: 11
Offline

I'm reading this: http://download.oracle.com/javaee/5/tutorial/doc/bncij.html
But the REQUIRES_NEW doesn't work that way with me!
HELP ME PLEASE!!!!
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

natasha_sch wrote:I'm reading this: http://download.oracle.com/javaee/5/tutorial/doc/bncij.html
But the REQUIRES_NEW doesn't work that way with me!
HELP ME PLEASE!!!!

Eu não sei se o exemplo que você citou atende ao que foi colocado no link, pois um método A é chamado dentro de um método B na mesma classe. Nunca passei por isso.

Enfim, como o seu caso é apenas um teste, crie um outro EJB e faça a mesma coisa, ou seja, anotar os métodos com diferentes escopo de transação e testar.

Good luck

"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..."
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team