이 샘플에서는 애플리케이션의 다른 번들에서 액세스할 수 있도록
번들의 Blueprint 파일에서 서비스를 선언하는 방법을 보여줍니다. OSGi 애플리케이션은
다른 번들 프로젝트에서 제공되는 서비스에 액세스하는 서블릿을 포함하는 OSGi 웹 번들로 구성됩니다. 애플리케이션은
WebSphere® Application Server에서 실행됩니다. 이 샘플에서
OSGi 애플리케이션 개발 도구를 사용하는 방법을 살펴볼 수 있습니다.
팁: WebSphere Application
Server 버전 7.0, 8.0, 8.5에서 이 샘플을 실행할 수 있습니다.
WebSphere Application Server 버전 7.0 설치 학습: WebSphere
Application Server
버전 7.0에서 이 샘플을 실행하려면
Java™ Persistence API 2.0
및 OSGi 애플리케이션에 대한 기능팩을 설치해야 합니다.
기능팩을 설치하려면
다음을 수행하십시오.
- IBM® Installation
Manager를 여십시오.
- 설치를 클릭하십시오. 패키지 설치 페이지가 열립니다.
- 패키지 목록에서 IBM WebSphere Application Server 버전 7.0 테스트 환경을 선택한 후 다음을 클릭하십시오.
- 라이센스 계약을 읽으십시오. 라이센스 계약에 동의한 후 다음을 클릭하십시오.
- Installation Manager의 지시사항에 따라 WebSphere Application Server
버전 7.0을 설치하십시오.
- 기능 목록에서
OSGi 애플리케이션 및 Java Persistence API 2.0용
IBM WebSphere Application Server
버전 7.0 기능팩
아래 OSGi 애플리케이션을
선택해야 합니다.
WebSphere Application Server 버전 8.0 설치 학습: WebSphere Application Server
버전 8.0에서 이 샘플을 실행하려면 다음과 같이 서버를 설치해야 합니다.
- IBM Installation
Manager를 여십시오.
- 설치를 클릭하십시오. 패키지 설치 페이지가 열립니다.
- 패키지 목록에서 IBM WebSphere Application
Server 버전 8.0을 선택한 후 다음을 클릭하십시오.
- 라이센스 계약을 읽으십시오. 라이센스 계약에 동의한 후 다음을 클릭하십시오.
- Installation Manager에 있는 지시사항에 따라 WebSphere Application Server
버전 8.0을 설치하십시오.
WebSphere Application Server 버전 8.5 설치 학습: WebSphere Application Server
버전 8.5에서 이 샘플을 실행하려면 다음과 같이 서버를 설치해야 합니다.
- IBM Installation
Manager를 여십시오.
- 설치를 클릭하십시오. 패키지 설치 페이지가 열립니다.
- 패키지 목록에서 IBM WebSphere Application
Server 버전 8.5를 선택한 후 다음을 클릭하십시오.
- 라이센스 계약을 읽으십시오. 라이센스 계약에 동의한 후 다음을 클릭하십시오.
- Installation Manager에 있는 지시사항에 따라 WebSphere Application Server
버전 8.5를 설치하십시오.
서버에 OSGi 카운터 애플리케이션을
배치하려면 다음을 수행하십시오.
- 엔터프라이즈 탐색기에서
을 펼치십시오.
- CounterServlet을
마우스 오른쪽 단추로 클릭하고
을
선택하십시오. 서버에서 실행 대화 상자가 열립니다.
- 서버 목록에서 WebSphere Application Server를 클릭한 후
완료를 클릭하십시오.
greet.getText()=0 Hello World! 문자열이 브라우저에 표시됩니다. 페이지를 다시 로드할 때마다
값이 증가합니다.
콘솔 보기()로
전환하여 서버의 출력을 보십시오. 성공하면 Blueprint 파일의
CounterImpl,
GreetImpl,
WorldImpl Bean에 대한 초기화 메소드 항목에 따라
CounterImpl.init(),
GreetImpl.init(),
WorldImpl.init()의 출력을 표시합니다.
[7/21/10 11:42:18:109 EDT] 0000002f StepStartBLA A CWWMH0300I: Starting business-level application "WebSphere:blaname=CounterApp".
[7/21/10 11:42:19:421 EDT] 0000002f webapp I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web Module: CounterWebBundle.
[7/21/10 11:42:19:515 EDT] 0000002f WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session context for application key default_host/CounterWebBundle
[7/21/10 11:42:19:531 EDT] 0000002f webcontainer I com.ibm.ws.wswebcontainer.VirtualHost addWebApplication SRVE0250I: Web Module CounterWebBundle has been bound to default_host[*:9080,*:80,*:9443,*:5060,*:5061,*:443].
[7/21/10 11:42:19:593 EDT] 0000002f StepStartBLA A CWWMH0196I: Business-level application "WebSphere:blaname=CounterApp" was started successfully.
[7/21/10 11:42:19:640 EDT] 0000001d SystemOut O WorldImpl.init() called.
[7/21/10 11:42:19:640 EDT] 00000032 SystemOut O CounterImpl.init() called.
[7/21/10 11:42:19:687 EDT] 00000032 SystemOut O GreetImpl.init() called.
참고: CounterImpl.init(),
GreetImpl.init() 및 WorldImpl.init()로부터의 출력이 콘솔 출력에 표시되지 않는 경우,
애플리케이션의 배치 및 시작 동안 오류 메시지에 대한 출력을 확인하고 Bean 및 서비스 정의에서
가능한 오류에 대한 Blueprint 파일을 확인하십시오.