在本地上下文中调用带注释的无状态 EJB 3 Remote

Calling a stateless EJB 3 annotated Remote in a local context

我想知道 EJB 3 规范或 Weblogic 供应商特性是否提供了有关调用查找无状态 EJB 的 performance/overhead 成本的信息,该 EJB 在本地上下文中(在同一服务器和与调用 EJB 的 class 相同)但在其声明中注释为 Remote。 我在网上搜索了很多关于这个主题的内容,但没有找到完整的回复。

如果 EJB 声明为本地,调用处理是否相同? 所以,不贵。 或者,调用处理是哪个EJB远程调用?所以,更贵。

如果你有关于这个问题的参考,那就太好了。

启用本地优化是 Weblogic 特定的设置。参见:

When enable-call-by-reference is True, EJB methods called from within the same EAR file or standalone JAR file will pass arguments by reference. This improves the performance of method invocation since parameters are not copied.

启用引用调用是not strictly EJB Spec-compliant,因为你不能再保证远程接口的参数实际上是原始参数的克隆,但实际上可能是原始对象,所以要小心如有必要,防御副本。