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

Re: Mais duvidas no ep1




>   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? Qual o tipo
dela? 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. 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.

>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