java - RemoteObject方法返回值

标签 java rmi remoteobject

RemoteObject 方法的返回对象是否必须是可序列化的? 例如,A是一个远程对象,具有以下功能:

SomeObject getMyObject() throws java.rmi.RemoteException

SomeObject 必须是可序列化的吗?

最佳答案

根据文档,它应该是:

2.6 Parameter Passing in Remote Method Invocation

An argument to, or a return value from, a remote object can be any object that is serializable. This includes primitive types, remote objects, and non-remote objects that implement the java.io.Serializable interface. For more details on how to make classes serializable, see the "Java Object Serialization Specification." Classes, for parameters or return values, that are not available locally are downloaded dynamically by the RMI system. See the section on "Dynamic Class Loading" for more information on how RMI downloads parameter and return value classes when reading parameters, return values and exceptions.

http://docs.oracle.com/javase/1.5.0/docs/guide/rmi/spec/rmi-objmodel7.html

这是有道理的。对象应从一个节点传输到另一节点。为了进行传输,它应该被放置在套接字中(在某个时刻),因此它应该被序列化。

关于java - RemoteObject方法返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14821548/

相关文章:

java - 如何在 Java 中围绕二维锯齿状数组打印边框

java - 是否可以在没有外部类的情况下序列化匿名类?

jakarta-ee - EJBCLIENT000025 : No EJB receiver available for handling?

flash - 使用来自 Flash 或纯 AS3 项目的 RemoteObject (AMF)

Java-从字符串中最后第二次出现的字符中获取子字符串

java - 使用java反射通过其setter方法设置字段

java - 单元测试 - junit 和 Mockito。测试 addNewAccount 到数据库,如果我需要删除/删除帐户

java - Java RMI 服务器/客户端实现出现错误

java - 客户端策略文件的 RMI 使用

java - 从 Java 客户端程序传递远程对象的构造函数参数