0

假设我们正在使用 EJB3,并且我们的会话 bean 使用/实现本地接口 L 和远程接口 R。

@Local
public interface L {
 abstract void localMethod();
}

@Remote
public interface R {
  abstract void remoteMethod();
}

我的问题 1

本地客户端也可以使用remoteMethod吗?

我的问题 2

用远程接口扩展本地接口是一种好习惯吗?

@Local
public interface L extends R {
...
}
4

1 回答 1

2
  1. 目前尚不清楚您的意思是“本地客户”。如果您在同一个进程中有一个客户端,那么它可以同时使用 L 和 R,但是您必须分别查找/注入它们:您不能查找 L、转换为 R 和调用 remoteMethod。

  2. 我不会称其为“好”做法。远程接口上的方法的参数和返回值将是传值,而本地接口上的方法的参数和返回值将是传引用。也就是说,如果您的 EJB 和它的客户都知道这个警告,那么您可以通过尽可能使用本地接口获得更好的性能。

于 2013-12-10T20:34:57.547 回答