tava lendo o livro “core java 2” na parte q fala sobre RMI. fiquei meio confuso pq na pag 229, ele fala com estas palavras:
"... As classes stub devem estar disponiveis para o programa cliente que está em execução. Uma maneira obvia de tornar essas classes disponiveis
e coloca-las no sistema de arquivos local. Entretanto se novas classes de
tipo de retorno e exceçõe forem carregadas, entao sera dificil manter a
atualização do cliente.
Por isso, os clientes RMI podem carregar classes stub de outro lugar,
automaticamente..."
e na pag 232 fala:
"Um programa servidor registra objetos com o serviço de partida e o cliente recupera stubs para esses objetos."
//servidor
ProductImpl p1 = new ProductImpl("Blackwell Toaster");
Naming.bind("toaster", p1);
//cliente
Product p = (Product)Naming.lookup("rmi://seuservidor.com/toaster");
pelo q entendi era para a classe stub vir p cliente qnd o cliente faz uma chamada a Naming.lookup(), sendo q testei e so dar certo qnd coloco a classe stub no sitema de arquivo local do cliente. Entao para funcionar, o servidor tem que gerar o stub da classe q esta nele, colocar num diretorio q o cliente possa baixar, para entao a partir dai o cliente poder executar uma chamada usando Naming.lookup() para obter um um objeto da classe ProductImpl q esta no servidor e entao poder chamar os metodos remotos da classe ProductImpl. E assim mesmo q funciona???