2012-05-11 3 views
1

EAR 파일로 제공되는 엔터프라이즈 애플리케이션이 있습니다. 귀 내부의 META-INF 폴더에는 예상대로 응용 프로그램에 속한 모듈 목록이있는 'application.xml'이 들어 있습니다.모든 EJB 전개 디스크립터를 EJB jar 파일이 아닌 EAR 파일의 META-INF 디렉토리에 둘 수 있습니다.

귀에 여러 개의 EJB jar 파일이 있으며 각 파일에는 여러 개의 EJB가 들어 있습니다. 어떤 이유에서 우리는 XML 배치 서술자를 사용하여 모든 ejbs를 구성하고자합니다. 결과적으로 ear 파일 안에있는 각 jar의 META-INF 폴더에 각각 포함 된 여러 개의 ejb-jar 파일이 생성됩니다.

 
EAR_FILE 
:  
:-----META-INF 
:   : 
:   -application.xml 
:  
:  
:------EJB_JAR_1 
:    : 
:    -META-INF 
:      : 
:      -ejb-jar.xml 
:------EJB_JAR_2 
:    : 
:    -META-INF 
:      : 
:      -ejb-jar.xml 
:------EJB_JAR_3 
       : 
       -META-INF 
         : 
         -ejb-jar.xml 


여기서 알 수 있듯이, 이는 개별 ejb-jar.xml 배치 디스크립터의 결과입니다. 우리는 이것을 애플리케이션의 모든 ejbs를 정의하는 단일 배치 디스크립터로 집중화 할 수 있기를 원합니다.

우리는 하나의 귀에 모든 것을 갖기보다는 별도의 ejb jar 파일을 귀 안에 보관하려고합니다.

응용 프로그램의 모든 EJB에 대한 구성을 포함하는 ear 파일의 META-INF 폴더에 'master'ejb-jar 파일을 포함 할 수 있습니까?

또는 ejb-jar 파일을 EJB가 들어있는 실제 jar 파일 외부에 둘 수 있습니까?

결국 나는 ejb 배포 디스크립터를 위에서와 같이 각각의 개별 EJB jar에 분산시키는 대신에 모든 ejb 배포 디스크립터를 하나의 파일로 중앙 집중화하는 것을 목표로 삼고있다.

많은 감사,

데이브.

답변

0

ejb-jar 파일을 EJB가 들어있는 실제 jar 파일 외부에 둘 수 있습니까?

그래, 더 정확하게 말하자면 EJB 모듈은 EJB 모듈 JAR 외부에있을 수 있습니다. 즉, 단일 ejb-jar.xml로 단일 EJB 모듈을 만든 다음 모든 EJB_JAR_1, EJB_JAR_2 등을 EAR/lib/디렉토리에 넣으면 모든 EJB가 모든 EJB에 자동으로 표시됩니다. 모듈을 EAR (또는 귀하의 경우에는 단일 EJB 모듈)에 추가하십시오. 또는 EJB 모듈 META-INF/MANIFEST.MF에 수동으로 Class-Path: ejb-1.jar ejb-2.jar 목록을 유지할 수도 있지만 더 많은 작업이 필요합니다.

관련 문제