A.2. Jakarta Enterprise Beans 참조 해상도
이 섹션에서는 JBoss EAP에서 @EJB 및 @
Resource
를 구현하는 방법에 대해 설명합니다. XML은 항상 주석을 재정의하지만 동일한 규칙이 적용됩니다.
- @EJB 주석에 대한 규칙
-
@EJB
주석에는mappedName()
속성도 있습니다. 사양은 벤더별 메타데이터로 남겨둡니다. JBoss EAP는mappedName()
을 참조하는 자카르타 엔터프라이즈 빈의 글로벌 Java 네이밍 및 디렉터리 인터페이스 이름으로 인식합니다.mappedName()
을 지정하면 다른 모든 속성이 무시되고 이 글로벌 Java Naming 및 Directory Interface 이름이 바인딩에 사용됩니다. 속성이 정의되어 있지 않은
@EJB
를 지정하는 경우:@EJB ProcessPayment myEjbref;
그러면 다음 규칙이 적용됩니다.
-
참조 빈의 Jakarta Enterprise Beans JAR은
@EJB
주입에 사용되는 인터페이스를 사용하여 Jakarta Enterprise Beans를 검색합니다. 동일한 비즈니스 인터페이스를 게시하는 Jakarta Enterprise Beans가 두 개 이상 있는 경우 예외가 발생합니다. 해당 인터페이스가 있는 빈만 있는 경우 해당 인터페이스가 사용됩니다. - 해당 인터페이스를 게시하는 Jakarta Enterprise Beans의 EAR를 검색합니다. 중복이 있는 경우 예외가 발생합니다. 그렇지 않으면 일치하는 빈이 반환됩니다.
- JBoss EAP 런타임에서 해당 인터페이스의 Jakarta Enterprise Bean을 전역적으로 검색합니다. 중복이 발견되면 예외가 발생합니다.
-
참조 빈의 Jakarta Enterprise Beans JAR은
-
@EJB.beanName()
은<ejb-link>
에 해당합니다.beanName()
이 정의된 경우 검색에서beanName()
을 사용하여 속성이 정의되지 않은@EJB
와 동일한 알고리즘을 사용합니다. 이 규칙의 예외는 ejb-link # 구문을 사용하는 경우입니다. 참조하는 Jakarta Enterprise Beans가 있는 EAR에서 JAR에 상대 경로를 배치할 수 있습니다. 자세한 내용은 Jakarta Enterprise Beans 3.2 사양을 참조하십시오.
-