从同一 EJB-JAR 或 EAR 中注入远程接口
从同一 EJB-JAR 或 EAR 调用远程 @remote
接口是否会使应用服务器使用 RMI/RMI-IIOP?
或者应用程序服务器会非常智能,并在本地执行此调用,就像调用 @local
接口一样???
Is calling a remote @remote
interface from within the same EJB-JAR or EAR would make the app server use RMI/RMI-IIOP?
Or the App Servers would be much intelligent and doing this call locally as if it calls a @local
interface???
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
容器不应该执行真正的 @local 调用,因为 @local 调用按引用传递,@remote 调用按值传递。但是,容器可以优化 @remote 调用,以便完整的 RMI/IIOP 网络堆栈不会受到影响。我记得 WebSphere 进行了此类“本地”优化,因此我无法与其他供应商交谈。
[历史:早在 WebSphere 的 EJB3 之前的早期版本中,就有一个选项可以启用“使 @remote 看起来像 @local”的道德等价物,但我认为以后的版本不会提供此功能。]
The container should not do a truly @local call because @local call pass by reference and @remote calls pass by value. However the container can optimise the @remote call so that the full RMI/IIOP network stack is not hit. As I recall WebSphere does such "local" optimisations, I can't speak to other vendors.
[History: Way back in early pre EJB3 versions of WebSphere there was an option to enable the moral equivalent of the "make @remote look like @local" but I don't think later version do offer this.]