我编写了一个 RMI 服务器应用程序,其中包含以下 API-
IDbInfo getDatabaseInfo();
该API返回数据库信息类对象,该类继承自IDbInfo。到现在一切都很顺利,客户端应用程序能够从 RMI 服务器获得正确的返回值。
几天前,我们在新的 Debian 机器上安装了 RMI 服务器,在 winodows 机器上安装了客户端。之后,客户端应用程序总是将返回值设为 null。我在 RMI 服务器中添加了日志以验证返回的值,发现服务器确实返回了正确的值,但客户端应用程序以某种方式将其接收为 null。
我尝试通过在 Fedora 机器上安装 RMI 服务器和在 Windows 上安装客户端(在我们的测试环境中)来重现此问题,但一切正常。问题仅出现在这台特定的 Debian 机器上。
谁能指出这个问题的可能原因?
- - 编辑 - -
以下是我的返回类型的定义-
public interface IDbInfo extends Serializable {
....
}
public class MysqlDatabaseAccessInfo implements IDbInfo {
....
}