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

Propagacao de contexto



Ola a todos.
Estou com dificuldades para entender a propagacao do contexto transacional nas
chamadas IIOP. Pelo que entendi, o contexto e propagado de maneira implicita e
automatica. O que vi no codigo-fonte do JBoss foi o seguinte: O EJB rodando
sobre RMI/IIOP vai usar a interface org.jboss.tm.iiop.client.IIOPClientUserTransaction,
que implementa javax.transaction.UserTransaction. A partir dai, na hora de
criar uma transacao, ele pega aquele servente default que o Reverbel comentou
hoje na aula (org.jboss.tm.iiop.TransactionServiceImpl), chama create_transaction
e depois configura um client interceptor para colocar o contexto da transacao
nas chamadas IIOP. 

Ate ai blz. O problema que estou tendo e com o EJB alvo da requisicao IIOP feita
por um primeiro EJB. Minha ideia era a seguinte: quando o EJB alvo fosse usar um
recurso XA, no metodo enlistResource da classe org.jboss.tm.TransactionImpl eu
faria um register_resource com o coordinator do servidor de aplicacoes do EJB
que fez a requisicao IIOP. Mas como eu tenho acesso ao contexto transacional?
Vi a classe org.jboss.tm.iiop.client.TransactionCurrent, mas acho que nao e
por ela que eu acesso qualquer dado do contexto transacional.

Dei uma olhada tambem no interceptador do lado servidor
org.jboss.tm.iiop.TxServerClientInterceptor, que e o equivalente do interceptador
que do lado cliente coloca o contexto transacional, mas nao encontrei nada muito
util.

Enfim, como obter acesso ao contexto transacional que e carregado junto com
a requisicao IIOP?

Nao sei se faz sentido o que acabei de escrever, mas agradeco qualquer ajuda.

Abracos.

-- 
 Ivan Bittencourt de Araujo e S Neto   <ivanneto@linux.ime.usp.br>