远程端点上的Spring RMI非JRMP服务器

时间:2010-08-26 04:48:51

标签: spring rmi endpoint

我正在运行以下代码:

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时,我得到完全相同的错误,但这是一组更容易消化的代码)。

1 个答案:

答案 0 :(得分:-1)

non-JRMP server at remote endpoint 

意味着需要开启SSL。