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