java - "Application Client Container"和 "Embedded Enterprise Bean Container"相同吗?

标签 java oracle jakarta-ee containers sun

“应用程序客户端容器”(请参阅​​ here )是否与“嵌入式 Enterprise Bean 容器”(请参阅​​ here )相同?

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

最佳答案

虽然不是很明显,但它们有很大不同。

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

    ...The ACC manages the execution of Java EE application client components (application clients), which are used to access a variety of Java EE services...outside the Oracle GlassFish Server. ACC communicates with the GlassFish Server using RMI-IIOP

  2. 嵌入式 Enterprise Bean 容器

    ... The container and the client code are executed within the same virtual machine

区别

ACC 仅支持远程 JVM 中的客户端应用程序(Java EE 组件的使用者)之间的连接。也就是说,您将有一个在 JVM A1 中运行的客户端 A,连接到在 JVM B1 中运行的 Glassfish 服务器。 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 容器功能

关于java - "Application Client Container"和 "Embedded Enterprise Bean Container"相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16354602/

相关文章:

java - 所有线程的compareAndSet 都会失败吗?

jakarta-ee - 如何使用保留请求正文和响应正文的 servlet 过滤器记录请求和响应?

java - WebSphere 7 HTTPSession 实现是否违反了 J2EE 规范?

java - 如何使用另一个方法中的变量? (找不到符号 - 变量 EvenNum)

java - 在网站中显示网站?

尝试在 jade 中打印容器 id 时出现 java.lang.ClassCastException

java - 使用 EJB 的 Spring Security

sql - 如何在 pl/sql block 中给出本地文件系统的相对路径

oracle - PL/SQL 嵌套过程异常处理

java - SQLException : Protocol violation. Oracle JDBC 驱动程序问题