gpt4 book ai didi

java - 客户端是否必须知道 RMI 服务器返回的对象的 Impl?

转载 作者:行者123 更新时间:2023-12-01 12:48:16 25 4
gpt4 key购买 nike

我只是想知道客户端是否必须知道服务器上对象的实际实现。我认为客户端只需要知道服务器上对象的接口(interface)即可。

示例(在服务器端):

public class AccountImpl implements Account {
//lots of Code
}

public class AccountManagerImpl implements AccountManager {
public Account login() {
return new AccountImpl();
}
}

在客户端:

AccountManager accMan = (AccountManager) registry.lookup("accMan");

Account myAccount = accMan.login();

所以客户端有Account接口(interface)。他是否也需要知道 AccountImpl 类的实现?由于每个用户都应该获得自己的帐户,因此我认为我无法将它们导出并将其绑定(bind)到注册表...这通常是如何完成的?

提前致谢

最佳答案

没有。客户端仅使用远程接口(interface)。需要部署到客户端的类仅包括远程接口(interface)本身及其依赖的任何类,如此递归直至关闭。如果您要生成 1.5 之前的 stub ,则还需要部署它们,或者通过 RMI 代码库功能提供它们。

您不需要将帐户绑定(bind)到注册表。您在此处发布的内容已经有效。

关于java - 客户端是否必须知道 RMI 服务器返回的对象的 Impl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24472181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com