具有本地/远程接口的无状态会话Bean

时间:2017-03-08 05:31:03

标签: session interface ejb local stateless-session-bean

我正在尝试理解为无状态会话bean创建本地或远程接口之间的实现差异,但是我看到了各种解决方案,并且想知道是否存在某种"标准"或一般"偏好"。

对于本地接口,我可以在Java EE企业应用程序项目中创建所有内容(servlet,会话bean,jsp)。

对于远程接口,我是否需要在Java类库或Java应用程序或Java Web应用程序中创建远程接口?然后剩下的代码在Java EE企业应用程序项目中......

此外,在Java EE企业应用程序项目中创建会话bean而不是Java Web应用程序项目的原因是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

我试图了解两者之间的实现差异   为我的无状态会话bean创建本地或远程接口   但我看到各种解决方案,我想知道是否有一定的   "标准"或一般"偏好"。

主要区别在于远程接口是粗粒度的,并且调用是按值进行的。虽然本地接口是细粒度的,并且通过引用进行调用。

  

对于远程接口,我是否需要在a中创建远程接口   Java类库或Java应用程序或Java Web应用程序?然后   其余代码位于Java EE企业应用程序中   项目...

如果您有远程接口,则必须将其打包在单独的.jar文件中。然后,.jar文件将作为依赖项包含在主项目中(在应用程序服务器上)并分发到远程客户端。

  

此外,在Java EE中创建会话bean的原因是什么   企业应用程序项目而不是Java Web应用程序   项目

从ejb 3.1规范开始,ejb可以直接打包在.war文件中。 在旧的J2EE时代,ejb只能打包在.jar中,以包含在.ear文件中。