【问题标题】:Are "Application Client Container" and "Embedded Enterprise Bean Container" the same?“Application Client Container”和“Embedded Enterprise Bean Container”是一样的吗?
【发布时间】:2013-05-03 08:32:45
【问题描述】:

“应用程序客户端容器”(参见 here)是否与“嵌入式企业 Bean 容器”(参见 here)相同?

这两个描述对我来说听起来很像,但我想知道我是否遗漏了什么。或者为什么使用两个不同的术语?这两个术语有什么关系?

【问题讨论】:

  • Oracle 的 Java EE 6 教程中也提到了“Application Client Container”:linklink

标签: java oracle jakarta-ee containers sun


【解决方案1】:

虽然不是很明显,但它们完全不同。

  1. 应用程序客户端容器 (ACC)

    ...ACC 管理 Java EE 应用程序客户端组件(应用程序客户端)的执行,这些组件用于访问各种 Java EE 服务...在 Oracle GlassFish Server 之外ACC 使用 RMI-IIOP 与 GlassFish Server 通信

  2. 嵌入式企业 Bean 容器

    ...容器和客户端代码在同一个虚拟机中执行

区别

ACC 仅启用远程 JVM 中的客户端应用程序(Java EE 组件的使用者)之间的连接。也就是说,您将有一个在 JVM A1 中运行的客户端 A,连接到 Glassfish 服务器,在 JVM B1 中运行。 ACC 本身无法支持 JavaEE 的优点(EJB、安全性、拦截器事务等)。

另一方面,EEC 基本上是一个 API,它将在单个 JVM 中提供所有这些功能。也就是说,您可以使用 main 方法开发一个小型 Java 类,并在该单一 main 方法中提供所有这些好东西。

看看the code sample from Oracle

    //Adding this line to a main method effectively puts a Java EE container within that JVM, without having to install anything
    EJBContainer ec = EJBContainer.createEJBContainer();

总之,ACC - 连接到远程 JVM 中的 JavaEE 容器EEC,在本地 JVM 中提供 JavaEE 容器功能

【讨论】:

  • 一个有用的ACC教程可以是found here。在 NetBeans 中运行 ACC 很简单。在命令行上更难,本质上是:appclient -client localdir\your-appClient.jar 但是您必须以某种方式为 appClient.jar 提供 EJB 远程接口。 GlassFish 工具为您提供的“客户端存根”不包含所需的类文件。
猜你喜欢
  • 2015-12-13
  • 2012-06-13
  • 2011-10-16
  • 2012-11-09
  • 2021-07-18
  • 1970-01-01
  • 2018-02-23
  • 1970-01-01
  • 2023-01-03
相关资源
最近更新 更多