我有两个使用RMI对象进行通信的应用程序。 我有一个接口,一个实现类和生成的存根类。
我认识到,impl类中的一些更改需要我创建一个新的存根类。
我的问题是,如果不重新编译存根,我可以做些什么改变?
据我所知:
我问这个问题,因为我在本周初进行了更改,现在,RMI连接已断开。但我只添加评论并更新我的checkstyle。所以我添加了串行版UID并将一些类改为最终版。
答案 0 :(得分:2)
如果更改任何方法签名(包括添加和删除),则只需重新运行rmic并生成部署类。生成的代码只是通过定义的类方法将远程调用对象链接到实际的实现。
这意味着您可以更改impl代码(方法签名除外)和impl类使用的任何类的代码而不会出现问题。如果实现使用的那些类也是方法签名的一部分,那么客户端需要适当的版本来匹配远程实现,但这不是RMI特有的。