如何轻松维护服务器和客户端等多个应用程序的RMI接口?

时间:2012-07-07 04:48:22

标签: java interface rmi

任何处理RMI的人肯定会遇到这样的困境,即如何轻松维护对象的接口,为其他客户端应用程序提供远程方法调用服务。每当我们决定对方法声明或添加/删除接口中声明的方法进行微小更改时,我们必须手动复制将使用该接口从远程服务器访问RMI服务的所有客户端中的更改。

2 个答案:

答案 0 :(得分:1)

考虑使用可下载(Serializable)代理,该代理具有客户端使用的更稳定的接口,并使用远程接口完成其工作。您可以使用代码库功能来确保其对所有客户端的可用性。代理程序需要包含存根。您可以将代理绑定到注册表,或从其他远程方法返回它。

或者,使用JWS分发新版本的客户端。

或者,更稳定地设计远程接口,这样他们就不必更改 - :)

答案 1 :(得分:0)

我提出的一个好的解决方法是

  1. 将RMI服务器提供的所有接口单独放在一起 在构建时将自己打包成jar文件的项目。
  2. 然后只需将该jar文件添加为依赖项或在 服务器应用程序的类路径,旨在提供 RMI服务以及任何客户端应用程序 想要使用这些接口来调用远程方法。
  3. 这将通过在一个地方更新它们来简化维护RMI接口的任务。在某些界面中更改方法签名的额外工作将限于更改调用该方法的应用程序代码。