세션 Bean 마법사는 작성 프로세스를 안내하고
애플리케이션에서 사용하도록 수정하거나 사용할 수 있는 출력 파일을
제공하여 엔터프라이즈 세션 Bean 작성을 도와줍니다.
세션 Bean을 작성하려면 다음 단계를 완료하십시오.
Java™ EE 퍼스펙티브의
프로젝트 탐색기 보기에서 EJB 프로젝트를 펼치십시오.
세션 Bean 아이콘을
마우스 오른쪽 단추로 클릭하고 팝업 메뉴에서
새로 작성 > 세션 Bean을
선택하십시오.세션 Bean 작성 마법사가 나타납니다.
프로젝트 마법사 프롬프트를 수행하십시오.
일반 정보
상태 유형
세 가지 세션 Bean 유형(stateless, stateful, 싱글톤)이 있습니다.
Stateless 세션 Bean
Stateless 세션 Bean은 각각 메소드에서 표시하는 관련 서비스의 콜렉션으로,
Bean은 한 메소드 호출에서 다음 호출까지 상태를 유지보수하지 않습니다.
Stateless 세션 Bean에서 메소드를 호출하는 경우 메소드를 실행하고
이전에 다른 요청의 진행 상태 또는 후속 상태에 신경을 쓰거나
확인하지 않고 결과를 리턴합니다. Stateless 세션 Bean은 대화 상태를 유지보수하지
않으므로 더 오래 유지됩니다.
Stateful 세션 Bean
Stateful 세션 Bean은 클라이언트 대신 태스크를 수행하고
해당 클라이언트와 관련된 상태를 유지보수합니다. 이 상태는
대화 상태라고 합니다. Stateful 세션 Bean 및 클라이언트 사이에서
계속되는 대화를 표시하기 때문입니다. Stateful 세션 Bean에서 호출된
메소드는 이 대화 상태에 데이터를 쓰거나 이 대화 상태에서 데이터를 읽을 수
있습니다. 이는 Bean의 모든 메소드에서 공유됩니다. Stateful 세션 Bean에는
제한시간이 있습니다.
싱글톤 세션 Bean
싱글톤 세션 Bean은 애플리케이션당 한 번 인스턴스화된 세션 Bean 컴포넌트입니다.
많은 가상 시스템에 컨테이너가 분산된 경우 각 애플리케이션에는 각 JVM에 대한
싱글톤의 Bean 인스턴스 하나가 포함됩니다.
인스턴스화되면 싱글톤 세션 Bean 인스턴스는 작성된 애플리케이션의
지속 기간에 유지됩니다. 클라이언트 호출 간 상태는 유지보수하지만,
컨테이너 종료 또는 충돌 시 상태가 유지될 필요는 없습니다. 싱글톤 세션 Bean은
동시 액세스를 지원하고 공유하도록 설계되었습니다.
비즈니스 인터페이스
세션 Bean의 비즈니스 인터페이스는 Bean에 대한 비즈니스 메소드를 포함하는
보통 Java 인터페이스입니다. 세션 Bean의 비즈니스 인터페이스에 대한 참조는
비즈니스 인터페이스 메소드의 리턴값 또는 매개변수로 전달될 수
있습니다. 메소드를 포함하여 세션 Bean의 상태를 초기화하고
더 이상 참조가 필요하지 않으면 제거할 수 있도록 EJB 컨테이너에
알립니다. 다음과 같이 사용 가능한 여러 옵션이 있습니다.
원격 비즈니스 인터페이스:
클라이언트는 액세스하는 엔터프라이즈 Bean 외의
다른 머신 또는 다른 JVM(Java Virtual Machine)에서 실행할 수 있으며,
Bean의 위치는 투명합니다.
로컬 비즈니스 인터페이스:
클라이언트가 액세스하는 Bean과 동일한 JVM(Java Virtual Machine)에서
클라이언트가 실행되어야 하며 엔터프라이즈 Bean의 위치가 투명하지 않습니다.
인터페이스 없음:
별도의 비즈니스 인터페이스를 사용하지 않고 Bean 클래스의 공용 메소드를 공개하는 로컬 보기의 변형입니다.
맵핑된 이름
Bean의 글로벌 JNDI 이름을 지정합니다. mappedName 속성을 사용하면
원격 클라이언트를 통해 EJB Bean 검색에 사용할 수 있는 이름을 지정할 수
있습니다.
트랜잭션 유형
트랜잭션 유형 필드는
컨테이너 또는 Bean에서 트랜잭션을
처리하는지 여부를 지정하는 데 사용됩니다.
홈 및 컴포넌트 인터페이스
홈 및 컴포넌트 인터페이스는 EJB 2.x 세션 Bean에만 사용됩니다.
홈 인터페이스:
홈 인터페이스를 사용하면 클라이언트가 엔터프라이즈 Bean의 기존 인스턴스를 작성하고 제거하고 찾을 수 있습니다.
컴포넌트 인터페이스:
컴포넌트 인터페이스를 사용하면 클라이언트가 엔터프라이즈 Bean의 비즈니스 메소드에 액세스할 수 있습니다.