RMI - Duvida intermediária  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Thiago Serra
What is classpath?

Membro desde: 21/07/2005 14:28:23
Mensagens: 6
Offline

Olá pessoal, gostaria de saber se o RMI serve para o meu problema atual.

Tenho um servidor e um cliente. Máquinas distintas e se pingam e se comunicam. Ambos são Linux.

Desenvolvi uma aplicação RMI servidor com os seguintes arquivos:

AplicacaoServer.java ( server )
Aplicacao.java (interface)
AplicaoImpl.java (implementação da interface)

Tudo foi compilado e tudo foi rodado, inclusive o RMIREGISTRY e o RMIC gerand o a classe da Implementação SKEL.

Na máquina Cliente existem os arquivos:

Aplicao.java ( Interface )
AplicaoClient.java ( cliente )
AplicaoImpl_Stub.class ( Stub do codigo Implementado )

Quando eu rodo o programa o cliente gera exception sentindo falta do arquivo AplicacaoImpl.class ... Se eu copiar o arquivo AplicaoImpl.class tudo funciona normalmente...

Minha duvida: Por que motivos eu preciso desse arquivo sendo que ja estou instanciando no server e se ja tenho a interface no cliente? Nao seria essa uma das facilidades RMI ???

Será que nao é isso que eu quero ainda? Eu gostaria de implementar algumas classes apenas no servidor sem ter que ficar instalando novas versões nos clientes... Alguém da um help ?




Valeu
Lucas Castro
Thread.start()
[Avatar]
Membro desde: 13/10/2003 23:24:59
Mensagens: 28
Localização: Teresina-Pi
Offline

Olá Thiago!

O objetivo do RMI é fornecer uma forma de chamada de método remotamente, ou seja, o cliente chama um método, como se estivesse implementado localmente, sendo que este está implementado em outra máquina... tudo de forma transparente.

Para que ocorra essa chamada de método remoto é necessário que haja uma interface comum entre o cliente e o servidor, e é por isso que o arquivo que representa essa interface (o teu Aplicacao.class) deve estar tanto no cliente quanto no servidor, até mesmo porque sua classe AplicaçãoClient deve fazer alguma referência a esta interface. No cliente você não vai implementar as classes, apenas no servidor.

Te ajudei?

Lucas

This message was edited 1 time. Last update was at 25/07/2005 09:01:29

[Email] [WWW]
Thiago Serra
What is classpath?

Membro desde: 21/07/2005 14:28:23
Mensagens: 6
Offline

Oi Lucas, muito obrigado por responder !

Na verdade a minha dúvida é exatamente o por que de estar pedindo o método implementado no cliente.

A classe cliente, gera um exception retratando a necessidade da classe implementada. É isso que nao entendi... Já que a interface está lá.
Talvez eu tenha feito algo errado, mas mesmo com os exemplos do tutorial disponibilizado aqui no GUJ nao funciona.

Muito obrigado mesmo assim...

 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team