Я использую следующий код:
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class RmiClient {
public static void main(String args[]) {
try {
String hostName = "hostnameChangedForOnlineReference";
Registry registry = LocateRegistry.getRegistry(hostName, 1099);
String[] names = registry.list();
for (String name : names) {
System.out.println(name);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
И получаю следующую ошибку
java.rmi.ConnectIOException: non-JRMP server at remote endpoint
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:230)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
at sun.rmi.registry.RegistryImpl_Stub.list(Unknown Source)
at RmiClient.main(RmiClient.java:9)
И все же другой код RMI, запущенный на моей машине, прекрасно подключается к этой же службе.
Может кто-нибудь предложить путь расследования этого непоследовательного поведения на моей машине?
(Когда я весной запускаю rmi, я получаю точно такую же ошибку, но это более простой набор кода длядайджест).