Я ищу на использовании Java RMI, но я нашел некоторый код в заблуждение, как это:В Java RMI Naming.rebind (url, obj), каков параметр obj?
public class RmiServer{
public static void main(String[] args) throws Exception
{
int port = 1099;
String url = "rmi://localhost:1099/HelloServiceImpl";
LocateRegistry.createRegistry(port);
Naming.rebind(url, new HelloServiceImpl());
System.out.println("already create remote service:" + url);
}
}
Но параметр «новый HelloServiceImpl()» это просто оригинальный объект instantce .Это не заглушки! Как этот код может перекрыть заглушку в реестр? Как мы можем видеть в Name.rebind:
public static void rebind(String name, Remote obj)
throws RemoteException, java.net.MalformedURLException
{
ParsedNamingURL parsed = parseURL(name);
Registry registry = getRegistry(parsed);
if (obj == null)
throw new NullPointerException("cannot bind to null");
registry.rebind(parsed.name, obj);
}
Он передает OBJ в реестр не окурок! Может ли кто-нибудь помочь мне получить ответ?
К слову, HelloServiceImpl так:
public class HelloServiceImpl extends UnicastRemoteObject implements HelloService
{
public HelloServiceImpl() throws RemoteException
{
}
@Override
public String sayHello(String name) throws RemoteException
{
return String.format("Hello %s", name);
}
}
Не комментируйте код. Вы должны быть в состоянии сами убедиться, что это совершенно неразборчиво. Измените это на свой вопрос. – EJP