2010-04-07 80 views
1

返回类型的超比方说,我有远程接口:返回从远程EJB方法

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

与实现

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

其中:

  • BeeResponse延伸响应。
  • 响应位于EJB-API jar中,BeeResponse位于实施jar中。
  • 响应和BeeResponse有不同serialVersionUID

我的假设是,从B响应解组将失败,我是否正确?

回答

1

那么我测试了这个运行在OpenEJB中,它似乎表现得如我所预料的那样,客户端不理解来自Bean的响应,因为BeeResponse类从客户端系统中丢失。

它一直运行到客户端开始反序列化响应的时间点。但是,串行版本的UID在这里没有任何影响,因为客户端甚至无法创建类。

现在所有这一切都非常有意义,但我有种“希望”会有某种魔法可以使它工作:-)

0

由于Java 5,这是允许的,所以它应该工作。我建议尝试一下,如果出现错误,请回来。