首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RemoteObject方法返回值

RemoteObject方法返回值
EN

Stack Overflow用户
提问于 2013-02-12 05:52:47
回答 2查看 819关注 0票数 0

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

代码语言:javascript
复制
SomeObject getMyObject() throws java.rmi.RemoteException

SomeObject必须是可序列化的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-12 05:57:39

嗯,根据文档,应该是:

远程方法调用中的

2.6参数传递

远程对象的参数或从远程对象序列化返回值可以被序列化为的任何对象。这包括实现<代码>E218<代码>E119java.io.Serializable接口的 primitive types、 remote objects和非远程对象。有关如何使类可序列化的更多详细信息,请参阅"Java对象序列化规范“。本地不可用的参数或返回值的类由RMI系统动态下载。有关RMI在读取参数、返回值和异常时如何下载参数和返回值类的更多信息,请参阅“动态类加载”一节。

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

这是有道理的。对象应该从一个节点传输到另一个节点。为了被传输,它应该放在一个套接字中(在某些时候),所以它应该被序列化。

票数 3
EN

Stack Overflow用户

发布于 2013-02-12 08:26:01

它必须是基元类型、可序列化类型或导出的远程对象本身。在后一种情况下,它会自动转换为Stub。Registry.lookup()就是一个例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14821548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档