Blueprint 구성 파일에는 컴포넌트 어셈블리와 번들 구성 정보가 포함되어 있습니다. 이 파일에는 컴포넌트가 OSGi 서비스 레지스트리에 어떻게 등록되는지 또는
이러한 컴포넌트가 OSGi 서비스 레지스트리에서 서비스를 어떻게 검색하는지가 기술되어 있습니다. 이 정보는
번들이 시작될 때 필수 컴포넌트를 인스턴스화하고 구성하기 위해 런타임 시
사용됩니다. 이 학습서에서, Blueprint 파일은
학습 2에 정의되는 카운터에 기타 컴포넌트가 액세스하기 위해 사용할 수 있는
서비스를 정의합니다.
이 학습에서는 CounterServiceBundle에서 제공되는
서비스를 정의하고 설명하는 Blueprint 구성 파일을
작성합니다.
Blueprint 구성 파일을 작성하려면 다음을 수행하십시오.
- 프로젝트 CounterServiceBundle을 마우스 오른쪽 단추로 클릭하고 을 선택하고 완료를 클릭하십시오. Blueprint 구성 파일이 편집기에서 열립니다.
- 컴포넌트 어셈블리 및 구성 정보를 Blueprint 구성 파일에 추가하십시오.
- 편집기의 디자인 탭에서 추가를 클릭하십시오. 항목 추가 대화 상자가 열립니다.
- Bean을 클릭하고 확인을 클릭하십시오. Bean 세부사항 대화 상자가 열립니다.
- Bean을 구성하십시오.
- Bean ID 필드에서 CounterBean을 입력하십시오.
- Bean 클래스 필드에서 찾아보기를 클릭하십시오. 유형 선택사항 대화 상자가 열립니다. 유형 이름 선택 필드에서 CounterImpl을 입력하고 CounterImpl 클래스를 선택하십시오. 확인을 클릭하십시오.
- 확인을 클릭하여 변경사항을 승인하고
대화 상자를 닫으십시오.
- 메소드 참조 섹션의 초기화 메소드 필드에 있는 편집기에서 init를 입력하십시오.
Blueprint 파일에 Bean이 추가됩니다.
- Blueprint를 클릭하고 추가를 클릭하십시오. 항목 추가 대화 상자가 열립니다.
- 서비스를 클릭하고 확인을 클릭하십시오. 서비스 세부사항 대화 상자가 열립니다.
- 서비스를 구성하십시오.
- 서비스 인터페이스 필드에서 찾아보기를 클릭하고
학습 2에 작성한 Counter 인터페이스를 선택하십시오. 확인을 클릭하십시오.
- Bean 참조 필드에서 찾아보기를 클릭하고 Bean: CounterBean을 선택하십시오. 확인을 클릭하십시오.
- 확인을 클릭하여 변경사항을 승인하고
대화 상자를 닫으십시오.
서비스가 Blueprint 파일에 추가됩니다.
- 파일을 저장하십시오.
Blueprint 구성 소스를 보기 위해 소스 탭으로
전환하십시오.
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<bean id="CounterBean" class="com.ibm.ws.eba.counter.CounterImpl" init-method="init"/>
<service id="CounterBeanService" ref="CounterBean"
interface="com.ibm.ws.eba.counter.Counter" />
</blueprint>
팁: 소스를 형식화하려면 Ctrl+Shift+F를 누르십시오.
Blueprint 구성 파일에 대하여 자세히 학습: - bean
- bean 요소는 인스턴스화되는 Blueprint 컴포넌트를
정의합니다.
- 이 학습서에서 bean 요소는
CounterImpl 클래스 생성자를 호출하여
컴포넌트 Counter의 인스턴스화의 결과를
가져옵니다. 클래스가 작성된 후
초기화 메소드 getCount()가 호출됩니다.
- 클래스
- class 속성은 컴포넌트의 구현 클래스가
인스턴스화되는 것을 지정합니다.
- id
- id 속성은 컴포넌트를 식별합니다. 컴포넌트가
Blueprint와는 다른 곳에서 참조되는 경우(예: 컴포넌트가 서비스 정의에서 참조되는 경우) 이 속성은 필수입니다.
- init 메소드
- init-method init()가 컴포넌트가 작성될 때
호출됩니다. 번들 초기화 중에 메소드를 호출하지 않으려면 이 속성을 제거하십시오.
- 서비스
- service 요소는 OSGi 서비스 레지스트리에 대한
컴포넌트의 내보내기를 정의합니다.
- 이 학습서에서, service 요소는 인터페이스 속성에 의해 지정되는 인터페이스 com.ibm.ws.eba.counter.Counter를 가진 OSGi 서비스 레지스트리에서 서비스로서 이름 Counter를 가진 컴포넌트를 내보냅니다.
- ref
- ref 속성은 내보낸 컴포넌트의 컴포넌트 ID를 참조합니다. 이는 컴포넌트 요소에서 정의됩니다.
- 인터페이스
- interface 속성은 컴포넌트 클래스가 구현하는
인터페이스를 참조합니다.
Blueprint 구성 파일에 대한 자세한 정보는
OSGi Blueprint XML 및 OSGi Blueprint 컴포넌트 모델(RFC124)을 참조하십시오.