java - 从远程 EJB 方法返回返回类型的父类(super class)

标签 java ejb-3.0 overriding return-type

假设我有远程接口(interface) A:

@Remote
public interface A {
  public Response doSomething();
}

和实现:

@Stateless
public class B implements A {
  public BeeResponse doSomething() {...}
}

地点:

  • BeeResponse 扩展了 Response。
  • Response 位于 EJB-API jar 中,BeeResponse 位于实现 jar 中。
  • Response 和 BeeResponse 具有不同的serialVersionUID。

我的假设是来自 B 的响应的解码将会失败,我是否正确?

最佳答案

我在 OpenEJB 中测试了这个运行,它的行为似乎正如我所预测的那样,客户端不理解来自 Bean 的响应,因为客户端系统中缺少 BeeResponse 类。

它一直有效,直到客户端开始反序列化响应为止。然而,串行版本 UID 在这里没有任何影响,因为客户端甚至无法创建该类。

现在这一切都说得通了,但我有点“希望”有某种魔法可以让它发挥作用:-)

关于java - 从远程 EJB 方法返回返回类型的父类(super class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2591245/

相关文章:

java - 为什么 resolve dependencies 'classpath' 这么慢?

java - 如何从 Java8 中的对象流中获取公共(public)项

java - 从客户端 java 应用程序上传 blob

ejb-3.0 - Glassfish 2.1 EJB 3.0 将本地 EJB 暴露给在同一域/jvm 中运行的其他应用程序

architecture - 是否支持 EJB3?

java - QT 或 java 哪个环境更便携?您建议使用哪个环境来满足我的应用程序需求?

java - JBoss 5.1.0 GA 中的@EJB?

java - 添加 "synchronized"会影响方法覆盖吗?

c++ - 覆盖标准函数

c# - 我可以覆盖 C# 中的属性吗?如何?