EJB本地包括远程



假设我们使用的是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 {
...
}
  1. 你说的"本地客户"是什么意思还不清楚。如果在同一进程中有一个客户端,那么它可以同时使用L和R,但必须分别查找/注入它们:不能查找L、强制转换为R和调用remoteMethod。

  2. 我不认为这是一种"好"的做法。远程接口上的方法的参数和返回值将按值传递,但本地接口上的参数和方法的返回值将通过引用传递。也就是说,如果您的EJB及其客户端知道这一警告,那么在可能的情况下,您可以通过使用本地接口来获得更好的性能。

相关内容

  • 没有找到相关文章

最新更新