если срабатывает всё происходит правильно, но в большинстве случаев выдает NoSuchObjectException: no such object in table при попытке вызвать doubleString у объекта
package com.javarush.task.task32.task3207;
import java.rmi.AlreadyBoundException;
import java.rmi.NotBoundException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
/*
К серверу по RMI
*/
public class Solution {
public static final String UNIC_BINDING_NAME = "double.string";
public static Registry registry;
//pretend we start rmi client as CLIENT_THREAD thread
public static Thread CLIENT_THREAD = new Thread(new Runnable() {
@Override
public void run() {
try {
registry = LocateRegistry.getRegistry(2099);
DoubleString service = (DoubleString) registry.lookup(UNIC_BINDING_NAME);
String res = service.doubleString("test ");
System.out.println(res);
} catch (RemoteException e) {
e.printStackTrace();
} catch (NotBoundException e) {
e.printStackTrace();
}
//напишите тут ваш код
}
});
public static void main(String[] args) {
//pretend we start rmi server as main thread
Remote stub = null;
try {
registry = LocateRegistry.createRegistry(2099);
final DoubleStringImpl service = new DoubleStringImpl();
stub = UnicastRemoteObject.exportObject(service, 0);
registry.bind(UNIC_BINDING_NAME, stub);
} catch (RemoteException e) {
e.printStackTrace();
} catch (AlreadyBoundException e) {
e.printStackTrace();
}
//start client
CLIENT_THREAD.start();
}
}