【发布时间】:2010-12-19 14:52:55
【问题描述】:
当服务器在 IBM JVM 上运行而客户端在 Sun/Oracle JVM 上运行时,通过 RMI 调用方法时是否有任何问题,反之亦然。
换句话说:Java 规范中的 RMI 协议(不是 RMI-IIOP)是否经过 JCK 测试?
我从 Oracle 找到了有关 RMI 协议的文档,但没有找到有关该文档是否也适用于其他 JVM 实现的提示。
【问题讨论】:
当服务器在 IBM JVM 上运行而客户端在 Sun/Oracle JVM 上运行时,通过 RMI 调用方法时是否有任何问题,反之亦然。
换句话说:Java 规范中的 RMI 协议(不是 RMI-IIOP)是否经过 JCK 测试?
我从 Oracle 找到了有关 RMI 协议的文档,但没有找到有关该文档是否也适用于其他 JVM 实现的提示。
【问题讨论】:
RMI JRMP 协议在 Java RMI 规范中定义。这意味着它在所有 Java 实现中必须是相同的,除非出现错误,而且除非 GNU CLASSPATH 等非 Java 实现。您将遇到的最大问题是 serialVersionUID 不匹配:您需要小心地为您自己的所有类定义它们,并且您需要避免序列化不能保证具有稳定序列化格式的 JDK 类,例如Swing 类,每个类的 Javadoc 都会告诉您。
【讨论】: