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

Re: Propagacao de contexto



On Thu, Dec 02, 2004 at 11:46:13AM -0200, Giuliano Mega wrote:
>    Em resposta à minha própria pergunta. Acho que me confundi por causa 
> daquele mecanismo de mapeamento reverso de Java para IDL. Agora me 
> lembrei que de fato o RMI/IIOP e CORBA têm de ser tratados de maneira 
> idêntica.

É isso mesmo. Do lado do servidor não há nenhuma diferença.

Reverbel

>           Mas a questão dos interceptadores CORBA... huuuum... isso 
> ainda me deixou com uma ponta de dúvida.
> 
>    Abraços,
> 
>       Giuliano
> 
> >   Oi, Ivan,
> >
> >   He he he. Eu estava determinado em tentar decifrar isso ontem de 
> >noite, mas não rolou. :-)
> >   Não só não rolou como fiquei com algumas dúvidas extras.
> >   Bem, eu estava pronto para responder que bastaria você usar o 
> >"orb.resolve_initial_references("TransactionCurrent")", quando comecei 
> >a me confundir ao pensar na maneira pela qual o JBoss lida com 
> >RMI/IIOP se não existe um "invoker Java-IIOP" na distribuição padrão 
> >do JBoss (na verdade, isso só existe na nossa distribuição do JBoss 
> >;-) ).
> >   Pelo que pude entender, o JBoss procura não duplicar funcionalidade 
> >em dois troncos. He he. O que eu quero dizer com isso é que *parece* 
> >que eles tratam RMI/IIOP e CORBA de maneira idêntica do lado servidor. 
> >Eu não tenho certeza disso, mas o fato de que a fábrica de lado 
> >cliente para RMI/IIOP usa CORBA dá a dica.
> >   Daí fiquei pensando... meeeeeu... como que são os proxies de lado 
> >cliente quando você usa RMI/IIOP!? Como, afinal, que as chamadas 
> >RMI/IIOP são codificadas?
> >   Agora, a minha conclusão inútil. Deve haver um mecanismo uniforme 
> >para se obter o contexto transacional que seja  independente de 
> >protocolo. Como o contexto não é independente de protocolo no nível da 
> >chamada (IIOP é diferente do resto, inclusive os interceptadores), 
> >então o lance deve ser acertado no serviço IIOP. Hehehehe. Este e-mail 
> >está meio prematuro, mas é legal ficar discutindo isso. :-)
> >
> >   Abraços,
> >
> >      Giuliano
> >
> >
> >>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.
> >>
> >> 
> >>
> >
> >
> 

-- 
Francisco Reverbel, Assistant Professor
Department of Computer Science                      reverbel@ime.usp.br
University of Sao Paulo, Brazil        http://www.ime.usp.br/~reverbel/