< 이전 | 다음 >

학습 2: EJB 개발

이 학습에서 세션 Bean을 작성하고 로컬 인터페이스를 개발하며 Bean에 대한 구현 클래스를 개발합니다. EJB 내보내기 관리 대화 상자를 사용하여 OSGi 서비스로 EJB를 노출하기도 합니다.

세션 Bean 작성

이 섹션에서 세션 Bean을 작성하고 로컬 인터페이스를 지정합니다.
  1. 세션 Bean 마법사를 여십시오. EJB 프로젝트에서 ejbModule을 마우스 오른쪽 단추로 클릭하고 새로 작성 > 세션 Bean(EJB 3.x)을 선택하십시오.
  2. Bean을 작성하십시오. 마법사에 다음 값을 입력하십시오.
    프로젝트
    EJB
    Java™ 패키지
    com.ibm.example.impl
    클래스 이름
    EJBConverter
    상태 유형
    Stateless
    로컬
    로컬 선택란을 선택하고 com.ibm.example.EJBConverterLocal 값을 입력하십시오.
    인터페이스 아닌 보기
    인터페이스 아닌 보기 선택 취소
    EJB 3.x 세션 Bean 작성
    NoteColonSymbol 이 학습서에서 개발된 애플리케이션은 로컬 인터페이스를 사용합니다. 원격 인터페이스를 사용하려는 경우, 마법사에서 원격 선택란을 선택하고 해당 인터페이스를 개발하십시오. 원격 인터페이스에 대한 JNDI 검색이 다르게 작용합니다. 원격 인터페이스를 사용하여 검색 코드를 조정하십시오. 다음 학습이 예제를 제공합니다.
  3. 완료를 클릭하십시오. 세션 Bean이 작성되고 클래스가 편집기에 열립니다.

로컬 인터페이스 개발

세션 Bean이 작성되면 EJBConverterLocal 인터페이스가 EJBClient 프로젝트에 작성됩니다. 이 섹션에서 인터페이스에 2개의 메소드를 추가합니다. 메소드는 기본 온도 변환 조작에 대해 설명합니다.
  1. EJBConverterLocal 인터페이스를 여십시오. EJBClient 프로젝트에서 ejbModule 폴더 및 com.ibm.example 패키지를 펼치십시오. EJBConverterLocal 인터페이스를 두 번 클릭하십시오. 인터페이스가 편집기에서 열립니다.
  2. 인터페이스에 메소드를 추가하십시오. 인터페이스에 다음 메소드를 추가하십시오.
    public double convertToFahrenheit(double celsius);
    public double convertToCelsius(double fahrenheit);
    다음 코드는 결과입니다.
    package com.ibm.example;
    
    public interface EJBConverterLocal {
    
       public double convertToFahrenheit(double celsius);
    
       public double convertToCelsius(double fahrenheit);
    
    }
  3. 변경사항을 저장하십시오. 인터페이스 파일을 저장할 때, 인터페이스에 추가한 메소드를 아직 구현하지 않았으므로 EJBConverter 클래스에 대한 오류가 표시됩니다.

구현 클래스 개발

이 섹션에서 로컬 인터페이스에서 요청하는 온도 변환 메소드를 구현합니다.
  1. EJBConverter 클래스를 여십시오. EJB 프로젝트에서 ejbModule 폴더 및 com.ibm.example.impl 패키지를 펼치십시오. EJBConverter 클래스를 두 번 클릭하십시오. 이 클래스가 편집기에서 열립니다.
  2. 기본 생성자를 제거하십시오.
  3. EJBConverterRemote 인터페이스에 추가한 2개의 메소드에 대한 구현을 추가하십시오. 클래스에 다음 메소드 구현을 추가하십시오.
    public double convertToCelsius(double fahrenheit) {
       return (fahrenheit - 32) * (5 / 9d);
    }
    
    public double convertToFahrenheit(double celsius) {
       return celsius * (9 / 5d) + 32;
    }
    완료된 클래스는 다음 코드와 유사합니다. 마법사에 의해 생성된 원래 코드에는 세션 Bean 마법사에 입력한 로컬 인터페이스를 지정하는 어노테이션, @Stateless 및 어노테이션, @Local이 포함되어야 합니다.
    package com.ibm.example.impl;
    
    import com.ibm.example.EJBConverterLocal;
    import javax.ejb.Local;
    import javax.ejb.Stateless;
    
    @Stateless
    @Local(EJBConverterLocal.class)
    public class EJBConverter implements EJBConverterLocal {
    
       public double convertToCelsius(double fahrenheit) {
          return (fahrenheit - 32) * (5 / 9d);
       }
    
       public double convertToFahrenheit(double celsius) {
          return celsius * (9 / 5d) + 32;
       }
    }
  4. 변경사항을 저장하십시오.

OSGi 서비스로 EJB 노출

기본적으로, EJB 지원이 있는 OSGi 프로젝트에 추가하는 EJB는 OSGi 서비스로 자동으로 노출됩니다. OSGi 서비스를 노출시키는 것은 OSGi Manifest에서 Export-EJB 헤더를 통해 제어됩니다. 이 섹션에서, Manifest를 확인하고 EJB 내보내기 관리 대화 상자를 사용하여 EJBConverter가 OSGi 서비스로 노출되는지 확인하십시오.
  1. manifest를 여십시오. EJB 프로젝트에서 Manifest:EJB를 두 번 클릭하십시오. Manifest가 열립니다. MANIFEST.MF 탭을 클릭하여 텍스트 형식으로 파일을 보십시오. EJBConverter EJB의 항목을 가진 Export-EJB 헤더가 있다는 것에 주목하십시오. Export-EJB 헤더에 수동으로 항목을 추가하여 EJB 내보내기를 관리할 수 있다는 것에 주목하십시오. EJB는 쉼표 구분 목록으로 추가될 수 있습니다.
    NoteColonSymbol 다음을 인식하기 위해 Export-EJB 헤더의 2개의 특별한 경우가 있습니다.
    없음
    Export-EJB 헤더의 항목으로 NONE을 지정하는 경우, 서비스로 노출되는 EJB가 없습니다. NONE을 지정하지만 목록에 EJB를 추가하는 경우, 도구에 의해 경고가 표시됩니다.
    BLANK
    Manifest에 Export-EJB 헤더가 있지만 항목이 없는 경우, 기본적으로 프로젝트의 모든 EJB가 서비스로 노출됩니다.
  2. EJB 내보내기 관리 대화 상자를 여십시오. EJB 프로젝트를 마우스 오른쪽 단추로 클릭하고 OSGi > OSGi 서비스로 EJB 노출을 선택하십시오. EJB 내보내기 관리 대화 상자가 열립니다. 대화 상자에서 EJBConverter EJB 옆의 상자가 선택되는지 확인하고 확인을 클릭하십시오. 프로젝트에서 이 대화 상자를 사용하여 추가하고 서비스로 노출된 EJB를 제거할 수 있습니다. 이 대화 상자에서 선택된 EJB를 변경하는 것은 Manifest의 Export-EJB 헤더로 항목을 변경합니다.
    EJB 내보내기 관리 대화 상자
    NoteColonSymbol 프로젝트에 새 EJB를 작성하는 경우, OSGi 서비스로 자동으로 노출됩니다. EJB 내보내기 관리 대화 상자를 사용하여 노출하지 않으려는 EJB를 선택 취소할 수 있습니다.
< 이전 | 다음 >
주제 유형을 표시하는 아이콘 학습서 학습 주제
Information Center의 이용 약관 | 피드백

시간소인 아이콘 마지막 업데이트 날짜: 2014-05-22

파일 이름: osgi_ejb_2.html