EJB 3可以实现2个远程接口吗?

4
我有两个远程接口,分别是 Example.javaRealExample.java。我的bean Bean.java 实现了这两个远程接口。
根据EJB 3.0规范,我们可以在单个bean中实现两个远程接口。我的第一个接口在 a.jar 中,另一个接口在 b.jar 中。
我该如何确保在 aclient.jarbClient.jar 中生成各自的存根?我不想让我的存根都在一个jar文件中。

我认为这是不可能的。如果你真的想要拆分JAR文件,你可能需要将一个项目中的文件剪切并粘贴到另一个项目中。希望你意识到这很容易变成维护上的噩梦... - home
2个回答

3
是的,EJB 3可以实现两个远程接口。如何生成存根和在哪些JAR中放置存根超出了EJB规范的范围:这是供应商特定的。
我可以说,WebSphere Application Server的createEJBStubs工具将在与接口本身相同的JAR中生成存根。

3
自从JDK和动态RMI-IIOP(2006年)中添加了动态代理,现代应用服务器不再需要手动生成存根的古老概念(更不用说骨架的概念)。例如,对于至少JBoss AS 4.x+、Glassfish和部分WebSphere 7,您只需要在客户端jar包中包含接口即可,无需其他任何东西。(不幸的是,由于某些未知原因,WebSphere仅部分实现了这个相对简单的功能,因此如果您正在使用WebSphere并且有一个Java SE客户端,我感同身受)
顺便提一下,还要注意从远程服务器检索到的代理可以直接转换为接口。不需要使用PortableRemoteObject(另一个古老的概念)或任何类似的东西。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接