Хотя это не сразу видно, они совершенно разные.
Application Client Container (ACC)
... АСС управляет выполнением клиентских приложений компонентов Java EE (приложение клиентов), которые используются для доступа к различным услугам Java EE. .. за пределами Oracle GlassFish Server. ACC обменивается данными с сервером GlassFish с использованием RMI-IIOP
Embedded Enterprise Bean контейнер
... Контейнер и код клиента выполняются в одной и той же виртуальной машины
Разница
ACC позволяет подключать только клиентское приложение (потребитель компонентов Java EE) в удаленной JVM. То есть у вас будет клиент A, работающий в JVM A1, подключающийся к Glassfish Server, работающий в JVM B1. Сам по себе ACC не имеет возможности поддерживать преимущества JavaEE (EJBs, Security, Interceptors Transactions и т. Д.).
EEC, с другой стороны, в основном представляет собой API, который предоставит все эти функции в рамках одной JVM. То есть вы можете разработать небольшой 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 - Подключение к JavaEE контейнера в удаленной JVM, EEC, обеспечивают JavaEE функциональность контейнера в пределах локальной виртуальной машины Java
«Client Application Контейнер "также упоминается в учебном пособии Oracle EE 6: ** [ссылка] (http://docs.oracle.com/javaee/6/tutorial/doc/bnacj.html) ** и ** [ссылка] (http : //docs.oracle.com/javaee/6/tutorial/doc/bnabo.html) **. – StaticNoiseLog