블로그 이미지
윤영식
Full Stacker, Application Architecter, KnowHow Dispenser and Bike Rider

Publication

Category

Recent Post

'virgo'에 해당되는 글 1

  1. 2012.11.22 [OSGi] Bundle 정의내리기
2012. 11. 22. 16:19 Middleware, Cloud/OSGi

Virgo v3.5.0 RELEASE 버전의 springframework는 3.0.x 버전 번들이 패키징 되어있다. 3.1.x 버전으로 재패키징을 할 경우 대비하여 Springsource에서 번들링 해놓은 파일을 받아서 virgo_home/repositories/ext/ 밑으로 넣으면 될듯! 아직 미 테스트함 


  - 번들의 개념에 대해서 알자 (하단 요약 참조 사이트)

  - SpringSource에서 운영하는 Bundle Repository

  - Spring 방식으로 Bundle을 만들 수 있는 Spring Dynamic Modules



▶ 번들 개념에 대하여 간단히 이해하고 가자 

  - OSGi Bundle은 모듈화 단위이다. (unit of moduelarization)

  - Bundle 구성 = resources + mainfest file(META-INF/MANIFEST.MF파일에 의존성 jar, 번들 정보) + OSGI-OPT 디렉토리(부가적인 정보)  

  - manifest.mf : 20 가지 헤더 정보를 가짐

    + Export-Package : package + name, 외부노출됨

    + Import-Package : package + name, 사용할 것들

    + Bundle-SymbolicName : unique name

    + Bundle-Name : human-readable name

    + Bundle-Activator : BundleActivator를 상속받아 구현한 것으로 start/stop 관련

    + Bundle-Classpath : embeddied libraries 의 여러 폴더나 파일 classpath 지정

    + Bundle-ManifestVersion : 1 = OSGi release 3, 2 = OSGi release 4

Bundle-Name: spring-core
Bundle-SymbolicName: org.springframework.bundle.spring.core
Bundle-ManifestVersion: 2
Export-Package:org.springframework.core.task;uses:="org.springframework.core,org.springframework.util";version=2.5.1 org.springframework.core.type;uses:=org.springframework.core.annotation;version=2.5.1[...]
Import-Package:org.apache.commons.logging,edu.emory.mathcs.backport.java.util.concurrent;resolution:=optional[...]



▶ bnd 툴 사용하기 

  - http://www.aqute.biz/Bnd/Bnd  사이트에서 다운로드

  - 하기와 같이 수행하면 manifest 정보가 출력됨 

java -jar bnd.jar print c3p0-0.9.1.2.jar

[MANIFEST c3p0-0.9.1.2.jar]
Ant-Version Apache Ant 1.7.0
Created-By 1.5.0_07-87 ("Apple Computer, Inc.")
Extension-Name com.mchange.v2.c3p0
Implementation-Vendor Machinery For Change, Inc.
Implementation-Vendor-Id com.mchange
Implementation-Version 0.9.1.2
Manifest-Version 1.0
Specification-Vendor Machinery For Change, Inc.
Specification-Version 1.0


  - 또는 OSGify 로 manifest를 수정하여 준다 (detail)

java -jar bnd.jar wrap c3p0-0.9.1.2.jar


번들 툴을 사용해 보자 

posted by 윤영식
prev 1 next