2013-05-03 2 views
2

는 "응용 프로그램 클라이언트 컨테이너"는 "임베디드 엔터프라이즈 빈 컨테이너"와 같은 (here 참조) (here 참조)인가?"Application Client Container"및 "Enterprise Bean 컨테이너 포함"이 동일합니까?

두 설명은 나에게 똑같은 것처럼 들리지만, 나는 뭔가를 놓치고 있는지 궁금해하고있었습니다. 아니면 두 가지 용어가 다른 이유는 무엇입니까? 이 두 용어는 어떻게 관련되어 있습니까?

+0

"응용 프로그램 클라이언트 내에서 JavaEE 어플 컨테이너 기능을 제공 컨테이너 "는 오라클의 Java EE 6 Tutorial : ** [link] (http://docs.oracle.com/javaee/6/tutorial/doc/bnacj.html) ** 및 ** [link] (http : //docs.oracle.com/javaee/6/tutorial/doc/bnabo.html) **. – StaticNoiseLog

답변

2

비록 그것이 즉시 명백하지는 않지만, 그것들은 상당히 다릅니다.

  1. 는 응용 프로그램 클라이언트 컨테이너 (ACC)는

    ... ACC는 자바 EE의 다양한 서비스에 액세스하는 데 사용되는 자바 EE 애플리케이션 클라이언트 구성 요소 (응용 프로그램 클라이언트)의 실행을 관리합니다. .. 은 Oracle GlassFish Server 외부입니다. ACC는

  2. 임베디드 엔터프라이즈 빈 컨테이너

    을 RMI-IIOP를 사용하여 글래스 피쉬 서버와 통신 ... 컨테이너와 클라이언트 코드는 동일한 가상 머신

    을 실행

차이점

ACC는 원격 JVM에서 클라이언트 응용 프로그램 (Java EE 구성 요소 사용자) 간의 연결 만 허용합니다. 즉, 클라이언트 A가 JVM A1에서 실행되고 Glassfish Server에 연결되어 JVM B1에서 실행됩니다. ACC 자체는 JavaEE (EJB, 보안, 인터셉터 트랜잭션 등)의 장점을 지원할 능력이 없습니다.

한편 EEC는 기본적으로 단일 JVM 내에서 모든 기능을 제공하는 API입니다. 즉, main 메소드를 사용하여 작은 Java 클래스를 개발하고 그 단일 기본 메소드 내에서 모든 장점을 제공 할 수 있습니다.

이 요약 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, EEC에 JavaEE 어플 컨테이너에 연결 로컬 JVM

+0

이 문제를 해결해 주셔서 감사합니다. – StaticNoiseLog

+0

ACC의 유용한 자습서는 [여기에서 찾을 수 있습니다] (https://netbeans.org/kb/docs/javaee/entappclient.html)입니다. NetBeans에서 ACC를 실행하는 것은 간단합니다. 명령 줄에서 본질적으로 더 어렵습니다. 'appclient -client localdir \ your-appClient.jar' 그러나 appClient.jar에 EJB 원격 인터페이스를 제공해야합니다.GlassFish 도구가 "클라이언트 스텁"으로 제공하는 것은 필수 클래스 파일을 포함하지 않습니다. – StaticNoiseLog