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

Re: Propagacao de contexto



    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. 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.
>>
>>  
>>
>
>