Olá pessoal tenho duas aplicações, uma é o software em si e a outra é o programa que que envia e recebe mensagens via RMI como eu faço para comunicar meu software com esse programa?
Lembrando que: O programa RMI tem
Uma classe onde ficam os métodos construtores,
Uma classe que os publica,
Uma Interface
e o arquivo cliente que é aquele que faz as solicitações
O que quero exatamante é como eu incluo no meu software esse arquivo cliente?
Estou com essa dúvida pq os arquivos do programa RMI não podem utilizar package e meu sofware utiliza package afim de evitar muitos imports.
E eu utilizando esse arquivo ele não vai achar o arquivo de interface mesmo eu fazendo o import. Alguém poderia me ajudar?
Você tem duas aplicações que vão rodar. A primeira vai registrar o objeto no servidor RMI e a segunda vai pegar aquele objeto.
Na primeira aplicação você vai precisar da interface e a implementação no classpath. Na segunda aplicação somente precisa da interface no classpath.
Para a primeira aplicação registrar o objeto no servidor RMI ela tem que executar:
Naming.rebind("MeuObjeto", new MeuObjeto);
lembrando que MeuObjeto é a implementação e não a interface.
Para o cliente pegar aquele objeto registrado, vai ter que ser executado na segunda aplicação:
MeuObjetoRemote o = (MeuObjetoRemote) Naming.lookup("//<ip>/MeuObjeto");
A partir desse momento você ja pode começar a utilizar teu objeto sem problemas, considerando que todos os métodos serão executados pela máquina que registro ele.