[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: TxManager do JBoss nao suporta criacao de nova Transacao pelamesma Thread, nem propagacao de Transacao por Threads diferentes
- Subject: Re: TxManager do JBoss nao suporta criacao de nova Transacao pelamesma Thread, nem propagacao de Transacao por Threads diferentes
- From: Francisco Reverbel <reverbel@xxxxxxxxxx>
- Date: Sat, 15 Nov 2003 19:00:22 -0200 (EDT)
Oi,
On Sat, 15 Nov 2003, Paulo Silveira wrote:
> O TxManager.begin() rapidamente olha se ja nao existe uma
> TransacactionImpl associada a esta Thread.curretnThread() atraves da
> estrutura auxiliar ThreadInfo. Muito por acaso, se voce chamar duas
> vezes o seu TransactionFactoryExt.create_context(), a MESMA Thread vai
> atender o seu request (descobrimos isso imprimindo o nome da Thread na
> tela).
Pelo jeito vocês deixaram de dar um TxManager.suspend() dentro do método
create() do TransactionFactory. O create() deve criar uma transação *sem*
deixá-la associada com a thread chamadora. Como o TxManager.begin() deixa
a transação associada com a thread chamadora, é preciso dar um suspend()
logo depois.
Veja no método begin() em
server/src/main/org/jboss/tm/usertx/server/UserTransactionSessionImpl.java.
A classe org.jboss.tm.usertx.server.UserTransactionSessionImpl faz para
JRMP uma parte do que vocês estão fazendo para IIOP.
Reverbel