EJB 팩토리(액세스 Bean)

EJB 팩토리는 엔터프라이즈 Bean 인스턴스의 작성 또는 찾기를 간소화하는 액세스 Bean입니다.

EJB 팩토리는 두 개의 오브젝트 즉, InitialContext와 엔터프라이즈 Bean의 홈 인터페이스에서 제공하는 기능을 요약합니다. 엔터프라이즈 Bean 홈 찾아보기 조작을 수행하는 데 필요한 제공업체 URL 및 기타 설정을 지정할 수 있습니다. EJB 팩토리의 수퍼 클래스는 이름 서비스에서 찾아보기를 수행하는 구현 세부사항과 EJB 홈 구현을 확보하는 데 필요한 PortableRemoteObject.narrow() 오퍼레이션을 숨깁니다. (EJB 팩토리는 원격 EJB 인스턴스를 확보하는 데 사용되는 헬퍼 클래스이므로 직렬화할 수 없다는 점을 유의하십시오.)

액세스 Bean 추가 마법사를 사용하여 다음의 액세스 Bean 유형 중 하나를 생성하도록 선택할 때마다 EJB 팩토리가 자동으로 생성됩니다.

작성 마법사를 사용하여 새 팩토리 클래스의 다른 Java 패키지를 지정할 수 있습니다.
참고: 로컬 클라이언트 보기만 있는 엔터프라이즈 Bean의 경우 EJB 팩토리가 작성되지 않습니다.

홈 인터페이스 맵핑

EJB 팩토리의 목적은 엔터프라이즈 Bean 원격 오브젝트에 대한 참조를 작성하는 방법을 제공하는 것입니다. 따라서 팩토리 클래스가 엔터프라이즈 Bean의 홈 인터페이스 메소드를 구현하고 엔터프라이즈 Bean 홈의 인스턴스로 이러한 메소드 호출을 위임합니다. 팩토리 클래스는 특정 이름 서비스에서 '찾아보기'를 수행하여 EJBHome에 대한 참조를 가져옵니다. 이름 서비스에 대한 찾아보기 호출을 지시하거나 기본 설정을 사용할 수 있습니다. EJBHome 메소드에 대한 첫 번째 호출이 작성되면 인스턴스는 찾아보기 조작을 수행하여 EJBHome 오브젝트를 확보합니다.

JNDI 맵핑

기본 JNDI 이름이 각 액세스 Bean 클래스로 생성됩니다. 코드 생성기는 기본적으로 홈 인터페이스 이름인 확장 편집기에 지정된 JNDI 이름을 사용합니다. setJNDIName()을 사용하여 JNDI 이름을 변경할 수 있습니다.
일반적으로 JNDI 이름을 변경할 필요가 없습니다. 그러나 엔터프라이즈 Bean이 다른 홈에 배치된 경우 관리자는 JNDI 이름에 접두부를 추가하여 차이를 표시할 수 있습니다. 홈을 찾기 위해 액세스 Bean은 rootContext라고 하는 이름 서비스 컨텍스트를 확보합니다. 이름 서비스 URL 및 이름 서비스 유형을 아는 경우 이 컨텍스트를 생성할 수 있습니다. 액세스 Bean은 rootContext의 특성을 설정하는 두 개의 API를 제공합니다.
  • setInitialContextFactoryName()
  • setInitialContextProviderURL()

피드백