달력

2

« 2025/2 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

'OSGi 이야기'에 해당되는 글 18

  1. 2011.11.15 OSGi 콘솔
2011. 11. 15. 14:01

OSGi 콘솔 OSGi 이야기2011. 11. 15. 14:01

OSGi 를 이클립스와 상관없이 독립적으로 실행할 수 있게 만들어야 한다.
작성한 번들을 JAR파일로 십게 만드는 방법과 OSGi를 이클립스 없이 단독으로 실행하는 방법에 대해 알아보자

JAR 번들파일로 만들기
번들 파일 만드는 방법은 2가지가 있다.
- 하나의 jar파일을만들어 필요한 모든 파일을 안에다 넣고 jar파일의 위치를 지정하여 설치
- 한 폴더에다 번들의 내용을 복사한후, 해당 폴더를 지정하여 설치

둘 다 같은 API인 bundleContext.installBundle(String location) 메서드를 이용한다.  파라메터가 String이므로 경로를 지정하여 2개다 사용할 수 있다.
압축해서 설치하냐, 폴더 그자체로 설치하냐의 차이뿐이다.

번들로 export하기
해당 프로젝트 우클릭 -> export버튼 클릭 -> source파일 포함유무 정하기
resource들도 포함해야 제대로 결과가 보인다. 이를 해결하기 위해선, manifest.mf에서 build-> binary build에서 원하는 resource선택->export작업하면 됨 쉽죠잉 

org.eclipse.osgi.services_3.2.0.v20090520-1800
- OSGi R4 Service Compendium에 정의된 각종 서비스들의 인터페이스만을 포함하고 있다.

org.eclipse.osgi.util_3.2.0.v20090520-1800 
- OSGi R4 Service Compendium에 정의된 유틸리티 클래스인 XML Parser, Position, Measurement클래스에 대한 인터페이스 및 구현체를 가지고 있다.

org.eclipse.osgi_3.5.1.R35x_v20090827 
- 이쿼녹스의 메인 JAR파일.
- 이 파일만 있으면 OSGi프레임워크를 구동할 수 있다.
 
콘솔로 실행하기
실제 작업을 할 폴더에 위의 3개를 옮긴다.
터미널창 띄운다.  다음 명령어를 입력한다. 

$java -jar org.eclipse.osgi_3.5.1.R35x_v20090827 -console
뚜둥
osgi> 콘솔로 들어갔다!

콘솔을 실행하고 나면 해당 폴더아래에 configuration이라는 폴더가 생긴다. 이 폴더는 OSGi 프레임워크를 실행할때 필요한 설정 파일과 로그 파일이 저장되며, 앞에서 계속 얘기했던 영구 저장영역으로 활용되는 폴더로 내부는 이렇게 생겼다.

C:/work - OSGi를 실행하는 루트폴더
   configuration\ : config.ini와 log파일 저장위치
      org.eclipse.osgi\ : OSGi의 Persistent Storage Area
         .manager\ : OSGi 스토리지 매니저가 사용하는 임시폴더
        bundles\ : 프레임워크에 설치된 각 번들파일을 위한 폴더
          2\ : 번들 ID당 한개의 폴더
                 1\ :각 번들 ID아래의 '1'폴더는 실제 번들 JAR파일 저장소
                 data\ : 번들이 사용하는 임시 데이터 저장장소

-configuration : OSGi 설정파일인 config.ini와 OSGi에서 발생하는 에러로그가 저장된다.
 -config.ini : OSGi 프레임워크를 실행하는데 필요한 각종 설정을 하는 파일이다.
 -*.log : OSGi에서 발생하는 각종 에러 로그가 기록되는 파일이다. 이 로그에는 여러분이 만든 번들을 실행할 때마다 발생하는 프레임워크 레벨의 에러가 저장된다. 번들이 오작동하면 이 로그파일을 뒤져보자

bundles : 각 번들용 폴더
- 프레임워크에서 부여하는 번들 ID에 따라 번들의 폴더가 결정된다.









 

'OSGi 이야기' 카테고리의 다른 글

Bundle jar파일로 만들기  (0) 2011.12.08
OSGi & Spring DM  (0) 2011.12.01
HTTP Service  (0) 2011.11.14
OSGI 상태  (0) 2011.11.14
Preference 서비스  (0) 2011.11.14
:
Posted by НooпeУ


Code Start Code End