문제

Is the "Application Client Container" (see here) the same as the "Embedded Enterprise Bean Container" (see here)?

The two descriptions sound like the same thing to me, but I was wondering whether I am missing something. Or why are two different terms used? How are these two terms related?

도움이 되었습니까?

해결책

Though it's not immediately apparent, they're quite different.

  1. Application Client Container (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. Embedded Enterprise Bean Container

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

The difference

ACC only enables connectivity between a client application (a consumer of Java EE components) in a remote JVM. That is, you'll have a Client A running in JVM A1, connecting to Glassfish Server, running in JVM B1. By itself, ACC doesn't have ability to support the goodies of JavaEE (EJBs, Security, Interceptors Transactions etc).

The EEC on the other hand is basically an API that will provide all that functionality within a single JVM. That is you can develop a small Java class with a main method and provide all those goodies within that single main method.

Have a look at 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();

In summary, ACC - Connect to JavaEE container in a remote JVM, EEC, provide JavaEE container functionality within a local JVM

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top