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

Re: Mais duvidas no ep1



emilio@objective.com.br writes:
> 
> >   Mas foi exatamente isso que eu fiz (mas sem usar o this, que da
> >   na mesma):
> >
> >    public void readExternal(final ObjectInput in)
> >         throws IOException, ClassNotFoundException
> >    {
> >            // remoteInvoker eh o ICE Proxy
> >            remoteInvoker = (InvokerPrx) in.readObject();
> >    }
> >
> >    public void writeExternal(final ObjectOutput out)
> >         throws IOException
> >    {
> >             out.writeObject (remoteInvoker);
> >    }
> 
> Veja bem, eu só escrevi o this para deixar explícito de quem eu estava
> chamando o método. Ele realmente não é necessário. Agora confesso que não
> entendi o que você está fazendo. Até onde entendi esses métodos acima estão
> na classe ICEInvokerProxy. Se for isto mesmo eu não sei o que acontece
> aqui:
>       out.writeObject (remoteInvoker);
> 
> O seu ICEInvokerProxy tem uma variável chamada remoteInvoker? 
  
  Sim.

> Qual o tipo dela? 

  InvokerPrx, que eh o ICE Proxy.

> Pra que ela serve? Suponho que ela seja uma instância do objeto proxy
> gerado pelo compilador slice. Tal instância, aparentemente, foi criada do
> lado do servidor na sua inicialização. 

  Isso mesmo.  

> Mas ai, sinceramente, não sei se vai
> funcionar do outro lado (quando o ICEInvokerProxy for passado seriado pelo
> servidor para o cliente) já que, no cliente, não há nenhum Ice.Communicator
> instanciado e rodando e, portanto, qualquer chamada ao remoteInvoker vai
> resultar em um erro.

  Tambem nao sei se vai funcionar.
  
  Eu segui o modelo do JRMPInvokerProxy que, assim como o meu
  ICEInvokerProxy possui uma referencia para um ICE Proxy, possui
  uma referencia RMI.
  
  Estou imaginando que na sua implementacao o ICEInvokerProxy,
  ao chegar no lado do cliente, instancia um Ice.Communicator
  e dai utiliza este comunicator para obter um ice proxy (??).
  
  t+

> 
> >Eu usei Externalizable porque segui o modelo do JRMPInvokerProxy,
> >   e tambem porque o enunciado do ep diz que eh necessario implementar
> >   os metodos writeExternal e readExternal.
> >
> >   De qualquer forma voce diz que basta fazer o ICEInvokerProxy
> >   implementar Serializable que tudo funcionara automaticamente?
> >   Vou tentar isso.
> 
> O mundo não é tão belo assim... =)) Veja bem, os tipos de todas as suas
> variáveis de instância deverá ser Serializable. Ai, tudo deve funcionar (ou
> não =)).
> 
> [ ]'s
> 
> --
> Emílio de Camargo Francesquini <emilio@objective.com.br>
> 
> "Você deve ser a mudança que você deseja ver no mundo" M. Gandhi
> 
> 
> 

-- 
   Emerson Luiz Navarro Tozette   <emr@linux.ime.usp.br>

 
Man will never penetrate outer space.
- Kehlog Albran, August 1942

Man will never penetrate outer space without a rocket.
- Kehlog Albran, August 1962