java - 如何通过RMI移动对象?

标签 java rmi

是否有一种简单、优雅且巧妙的方法可以在不同的 RMI 实例之间移动对象?

目前,我将通过克隆接收 RMI 服务器中的对象,然后销毁发送 RMI 客户端中的原始对象(或者从 RMI 服务器 A 移动到 RMI 服务器 B 时的其他方式)来执行此任务。

我想,我还必须克隆并销毁该对象的所有对象?

最佳答案

如果您的对象实现“远程”接口(interface),则它是通过引用传递

如果您的对象没有实现“远程”接口(interface),则它是按值传递

您必须根据对象的类型做出决定。

Java documentation

在 RMI 中传递对象

远程方法的参数或返回值几乎可以是任何类型,包括本地对象、远程对象和原始数据类型。

控制参数和返回值传递方式的规则如下:

远程对象本质上是通过引用传递的。远程对象引用是一个 stub ,它是一个客户端代理,它实现了远程对象实现的完整远程接口(interface)集。

本地对象使用对象序列化通过副本传递。默认情况下,将复制除标记为静态或 transient 的字段之外的所有字段。可以逐类覆盖默认序列化行为。

关于java - 如何通过RMI移动对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32825758/

相关文章:

java - Java 中的字符和字符串操作

java - 如何在一个 JFrame 中添加两个扩展 JPanel 的类

java - 将谷歌Chrome浏览器集成到eclipse中

java - RMI 服务器不会从其 HTTP 代码库服务器动态加载缺失的类

调用同一个远程对象时,客户端的 Java RMI 线程是顺序执行还是并发执行?

java - 使用 Android java 应用程序的 Cisco 交换机的 Telnet 客户端

java -\.在正则表达式中显示编译器错误

java - 在 weblogic 中的 ejb 3 处使用远程接口(interface)进行 RMI 调用

java - 如何使用 Java RMI 从服务器向客户端发送消息?

java - RMI 服务器不会返回类实例