2

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

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

4

1 回答 1

2

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

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

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

  2. 嵌入式企业 Bean 容器

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

区别

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

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

查看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 容器功能

于 2013-05-03T15:16:07.460 回答