gpt4 book ai didi

java - 为什么 EJB 需要实现可序列化接口(interface)?

转载 作者:搜寻专家 更新时间:2023-10-31 08:25:42 25 4
gpt4 key购买 nike

为什么 EJB 类需要可序列化?我听说这与 RMI 在幕后使用有关。我知道 RMI(远程方法调用)是如何工作的,在服务器端注册了一个远程对象,只有远程对象的 stub 被发送到客户端,不是整个对象。

因此在 RMI 应用程序中,远程对象的方法需要采用可序列化的参数和返回值,因为它们是通过网络发送的,而不是远程对象本身。

最佳答案

实现 javax.ejb.EntityBean 的旧 J2EE 风格 EJBS 的原因, javax.ejb.SessionBeanjavax.ejb.MessageDrivenBean应该是可序列化的是历史的。原文javax.ejb.EnterpriseBean这些扩展的接口(interface)恰好自身扩展 java.io.Serializable .在早期的 EJB 时代,人们认为这是促进在 JVM 之间移动 bean 所必需的。

EJB 2.0 规范发布时,EJB 实际实现 Serializable 的所有实际原因都消失了。

EJB 3 的引入消除了对任何这些接口(interface)(以及随后的 java.io.Serializable)的实现要求。

没有 EJB 规范,因为 EJB 2.0 指定 EJB 必须是可序列化的。由于接口(interface)继承,这只是隐式的。

隐式要求随 EJB 3.x 一起消失了。

关于java - 为什么 EJB 需要实现可序列化接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32485635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com