sou iniciante em RMI, estou tentando implementar um exemplo do livro do deitel, 3ªEd., mas nao to conseguindo. Quando mando executar TemperatureServerImpl, me é retornado uma NullPointerException. Se alguém tiver um exemplo mais didático e/ou saiba como resolver meu problema me contacte.
Normalmente essa exceção acontece pq o rmiregistry não consegue encontrar suas classes. Isso pode ter alguns motivos.
1 - Sua aplicação está estruturada em pacotes, assim será necessário que suas classes estejam declaradas no seu classpath para que possam ser encontradas.
2 - Sua aplicação não está estruturada em pacotes porém vc está iniciando o rmiregistry em um diretório diferente do diretório que sua aplicação está armazenada, fazendo com que suas classes não sejam encontradas. Para que vc consiga executar sua aplicação, dispare o rmiregistry no mesmo diretório de sua aplicação ou coloque suas classes no classpath.
Superficialmente pode ser isso, caso essas dicas não te ajudem a resolver o seu problema poste o log da exceção gerada por sua aplicação para que possamos te auxiliar melhor.
Outra coisa, dá uma olhada nos tutoriais aqui do pj. Pra vc que está iniciando será uma excelente referência …
este erro costuma acontecer quando você tenta acessar um valor ou um método de um objeto que contenha um valor null.
por exemplo:
String a; //a é igual a null
se vocÊ tentar usar a.equals(“qualquer coisa”), dará erro, pois seria como se você tentasse escrever null.equals(“texto”)
entendeu?
J
jefecompPJ
Bejeto, seu conceito de referência nula está perfeito . Porém, faça você mesmo um teste e tente executar uma aplicação que registre um objeto remoto e execute o rmiregistry em um diretório diferente dessa aplicação . Provavelmente vc terá uma exeção do tipo java.lang.NullPointerException, pq ?? Simplesmente pq quando a classe final Naming, quando tenta vai registrar o objeto no servidor de nomes e gera uma exceção desse tipo por não conseguir registrar esses objetos.
Entendeu ??
B
bejetoPJ
hehehee
eu não entendo nada de rmi, só quis tentar ajudar demonstrando como este erro acontece…
no caso dele…era só procurar onde que o oBEJETO estava nulo.
H
HesilPJ
Por um acaso eu preciso configurar algo na minha máquina como TCP/IP para que essas aplicações funcionem, talvez seja por isso pois nãomudei nada, inclusive implementei um dos exemplos do PJ que tb não funcionou, vo mandr o log pra vcs verem, aí quem sabe vcs me ajudem a solucionar meus problemas. Até o momento obrigado.
H3SIL.
H
HesilPJ
eu ia me esquecendo, se alguem tiver algum código que funciona, manda para mim, meu mail é: [email removido]