gpt4 book ai didi

java - 远程 EJB3 调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:28 24 4
gpt4 key购买 nike

来自同一个应用程序服务器的远程 EJB 调用是否始终优化为本地内存调用,并且在这种情况下是否跳过了数据序列化?

换句话说,即使在同一个容器中部署了两个以上的 EJB 模块,是否始终有效地使用远程 EJB,从而实现应用程序组件之间的解耦?我正在使用 Glassfish。

此外,如果我必须执行远程 EJB 的运行时查找(直到运行时我才知道 EJB 的 JNDI 名称),缓存调用的最佳方法是什么,尽可能少地使用现有的开销应用服务器提供的 EJB 基础设施(因此,没有像 Guice 这样的额外库,正是 Glassfish 已经提供的库)。

最佳答案

远程服务的参数语义与本地服务的不同。远程服务,由于它们的序列化行为,有效地具有按值传递语义(即复制参数),而本地服务是标准的 java 按引用传递。这不仅仅是性能方面的考虑,它改变了参数的含义。

因此,我不认为容器可以优化对远程 EJB 接口(interface)的调用,就好像它是本地接口(interface)一样,因为这种语义差异。

关于java - 远程 EJB3 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1994316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com