代码之家  ›  专栏  ›  技术社区  ›  Kyle Renfro

当我想将EJB公开到同一应用服务器上的不同应用程序时,是否需要使用@remote?

  •  6
  • Kyle Renfro  · 技术社区  · 14 年前

    我在EAR中成功地部署了一个@stateless@local bean。当我浏览JNDI树时,可以看到新的EJB3.1标准全局JNDI名称。(Java:全球/产品/产品EJB/产品管理)

    我想在 不同的 应用于 相同的 应用服务器。我需要为这个EJB添加一个远程接口吗?

    1 回复  |  直到 14 年前
        1
  •  11
  •   Pascal Thivent    14 年前

    规范不要求应用程序间访问本地客户端视图,但 可以 可以选择由容器支持。如果您希望您的应用程序是可移植的,那么您不应该依赖它并使用远程接口(一个合适的容器应该优化同一个JVM内的调用)。从EJB3.1规范:

    3.2.2本地客户

    会话bean可能有本地客户端。 本地客户端是指 在同一个JVM中与 提供本地 客户端视图 加上豆子。的本地客户 会话bean可能是另一个 企业bean或Web组件。

    通过访问企业bean 本地客户端视图需要 在同一个JVM中并置 本地客户和企业 提供本地客户端的bean 查看。因此,本地客户机视图 不提供位置 遥控器提供的透明度 客户端视图。

    通过访问企业bean 只需要本地客户端视图 为本地客户提供支持 打包在同一应用程序中 作为提供 本地客户端视图。顺从的 本规范的实施 可以选择支持访问 企业的本地客户端视图 bean来自本地客户机,打包在 不同的应用 . 这个 的配置要求 应用程序间访问本地 客户视图是特定于供应商的,并且 不在这个范围之内 规范。依赖于的应用程序 应用程序间访问本地 客户端视图不可移植。

    工具书类

    • EJB 3.1规范
      • 第3.2.2节“本地客户”
    推荐文章