在本地上下文中调用一个带有EJB 3注释的无状态远程EJB

3
我想知道EJB 3规范或Weblogic供应商特定方法是否提供有关在本地上下文中调用具有远程声明的无状态EJB(即在同一服务器和同一EAR中调用EJB的类)的性能/开销成本的信息。 我在网上进行了多次搜索,但没有找到完整的答案。 如果EJB被声明为本地,则调用处理是否相同? 因此,不昂贵。还是,调用处理是EJB远程调用的哪一个?因此,更昂贵。 如果您对此问题有参考资料,那就太好了。

WebLogic Server 能够检测到这种情况并改变其行为以提高性能。 - Emmanuel Collin
你有关于Weblogic的文档参考吗? - davidxxx
1个回答

1
启用本地优化是Weblogic特有的设置。请参见: 当启用“enable-call-by-reference”时,来自同一EAR文件或独立JAR文件的EJB方法将通过引用传递参数。这可以提高方法调用的性能,因为不需要复制参数。
启用按引用调用不完全符合EJB规范,因为您不能再保证远程接口的参数实际上是原始参数的克隆,而可能是原始对象,因此必要时请小心进行防御性拷贝。

1
感谢您提供这个精确的答案。 - davidxxx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接