[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Testes para voces fazerem com seu EP2 que nao passvaa pra gente....



Oi pessoal.

Durante a execucao de uma transacao do cliente, antes de comitar ou dar 
rollback, voce cria uma nova Thread, e pede para ele fazer outra 
transacao nesse meio tempo.

Para voce ter certeza que a thread que voce criou vai executar 
inteirinha antes de voce continuar, voce faz:

	TestaThreadDeCliente thread = new TestaThreadDeCliente();
	thread.start();
	thread.join();

O join vai esperar ela morrer.

Aqui a gente tinha um problema. Quando a gente dava begin, a gente tinha 
uma referencia para um TransactionCurrent que tinha sido registrado no 
initializer. Mas ele era uma instancia unica, entao todo mundo numa 
mesma vm/classloader tava pegando o mesmo cara, e a transacao era a mesma.

Ai o Alex viu que eu tinha feito a besteira de guardar o 
PropagationContext tambem como variavei de instancia do 
TransactionCurrent, e o que a gente fez entao foi sempre ver isso no 
slot do PICurrent, que se responsabiliza por fazer a politicagem de 
ThreadLocal.

		
Alguem mais fez assim?

Falou