我想在同一个JVM(Weblogic服务器实例)中拥有EJB的本地和远程接口是否可行,我该如何实现它。 调用本地EJB是一种性能优势,因为使用了call-by-reference。
如果可能,如何在部署描述符中定义它(ej-jar.xml,weblogic-ejb-jar.xml
答案 0 :(得分:0)
当然,您可以同时拥有这两个界面,客户端将使用@Remote
或@Local
,具体取决于本地或远程位置。
但问题是,正如您已经指出的那样,这两个接口的用途完全不同。
理论上,远程接口应该是粗粒度的,而本地接口则是细粒度的。这种“粒化”是由对象在JVM中或JVM之间传递的方式以及网络问题所驱动的。
为了简化(很多),使用@Remote
接口,您可以传递id并重新构建业务层中的对象,而使用@Local
允许您将整个对象作为参考传递。< / p>
因此,如果你同时实现它们,期望/设计你的bean有不同的方法集用于特定目的。