2

我们有一个应用程序,每个 bean 有三个接口。一个*BI(业务接口),它包含所有的方法,一个*LI扩展BI并被注释为@Local*RIBI@Remote

我想删除所有支持*LI*RI接口*BI,将它们保留为@Remote,但是有一个问题。

本地查找将参数作为引用传递,而远程查找使用 deepcopy。该应用程序充满了传递引用的期望(只有在传递引用有效的情况下才有效)。

如果我只有@Remote接口,容器将知道它何时是本地查找并在这种情况下使引用传递工作?

容器是 JBoss AS 7.1.1 Final,我们使用 EJB 3.1。提前致谢。

4

1 回答 1

2

由于本地和远程接口的行为不同,即使本地客户端也可能想要使用远程接口。所以如果容器只是猜测“这个客户端在同一个VM中运行,让我们给他一个本地接口”,那将是一个问题。

此处已讨论了有关差异的详细信息。

如果您想将所有接口定义保存在一个地方,只需编写一个接口并让它由两个(空)用@Local和注释的接口继承@Remote

于 2013-05-27T13:21:44.880 回答