Я начинаю использовать Java RMI. Я попытался сделать пример Hello World, но я этого не сделал. Это мой код удаленного интерфейса:Как разрешить java.rmi.NotBoundException: rmi: // localhost // HelloWorld?
package server;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Hello extends Remote
{
public String saluta(String who) throws RemoteException;
}
Это мой класс, который расширяет удаленный интерфейс:
package server;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class HelloWorld extends UnicastRemoteObject implements Hello
{
private static final long serialVersionUID = 1L;
public HelloWorld() throws RemoteException
{
super();
}
public String saluta(String who) throws RemoteException
{
return "Hello " + who;
}
}
Это мой сервер:
package server;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
import java.util.logging.Logger;
public class Server
{
static Logger logger = Logger.getLogger("global");
public static void main(String[] args)
{
System.setProperty("java.security.policy", "policy.all");
if (System.getSecurityManager() == null)
{
System.setSecurityManager(new SecurityManager());
}
try
{
HelloWorld hello = new HelloWorld();
Registry r = LocateRegistry.createRegistry(9000);
logger.info("Creo l'oggetto");
logger.info("...ora ne effettuo il rebind...");
r.rebind("HelloWorld", hello);
logger.info("...pronto");
} catch (Exception e)
{
e.printStackTrace();
}
}
}
И это мой код клиента :
package hello.client;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.logging.Logger;
public class Client
{
static Logger logger = Logger.getLogger("global");
public static void main(String[] args)
{
try
{
Registry r = LocateRegistry.getRegistry(9000);
logger.info("Sto cercando l'oggetto remoto...");
Hello hello = (Hello) r.lookup("rmi://localhost//HelloWorld");
System.out.println(hello.saluta("Graziano"));
} catch (Exception e)
{
e.printStackTrace();
}
}
}
Я создал два разделенных проекта, один для сервера, а другой для клиента, как на изображении по следующей ссылке: image Мой сервер отлично работает, но клиент получает мне эту ошибку: java.rmi.NotBoundException: rmi: // localhost // HelloWorld в строке 18
что случилось ??? Если кто-то может, пожалуйста, напишите мне пример! Спасибо: D
P.S: Возможно, это было бы важно! Это инструмент внешней конфигурации: image2
спасибо, что я использовал эту строку, но ошибка не исчезла :( – chaw359
Упс видеть исправление, я что-то пропустил. – EJP