본문 바로가기

Equinox

[ OSGi ] 7 - OSGi Eclipse 실행 [ OSGi ] Spring DM 1, 2, 3 에서 OSGi에서 Spring을 이용한 서비스 등록과 Annotation 사용을 보았다 이번에는 이것을 Eclipse 에서 바로 실행을 해보자 . Run Configurations... 를 선택한다. OSGi Framework를 더블클릭 하면 밑에 New_configuration이 생긴다.OSGi 구동시 필요한 plugin 들을 선택하고 Run을 한다. Console 창에 다음과 같이 나오면 성공이다. 더보기
[ OSGi ] 6 - Spring DM 3 [ OSGi ] 5 - Spring DM 2 에서 Spring DM을 이용해서 service 등록하는 내용을 봤다. HelloWorldOSGiSub Project의 Activator(SubActivator.java)를 대신 하는 Spring annotation 과 DI를 적용 해보자. Target Platform 추가 1. Spring에서 필요한 library project로 등록 lib로 프로젝트를 하나 만든다. lib로 필요한 library를 넣는다. ( 여기의 lib 파일은 [ OSGi ] 4 - Spring DM 1 에서 설명한 lib이다. ) 2. 그럼 이제 해당 lib 들을 target platform에 설정을 한다. Window > Preferences 를 클릭하여 Plug-in Develo.. 더보기
[ OSGi ] 5 - Spring DM 2 [ OSGi ] 4 - Spring DM 1 에서 Spring 관련 bundle을 올리고 Activator 대신 spring.xml에 설정한 init-method, destory-method 사용을 알아봤다. 여기서는 Spring 을 이용해서 OSGi의 Service에 등록하는 것을 해보겠다. ( 앞에서도 말했지만 일반적인 Service 등록은 http://xguru.net/tag/osgi 에서 OSGi 시작하기 4, OSGi 사직하기 5 를 참고하자. ) 서비스에 등록할 인터페이스 생성 1. interface 생성 HelloWorldOSGiSpringDM 프로젝트에 HelloWorldOSGiSpringDMPrinter.java와 HelloWorldOSGiSpringDMPrinterImpl.java 파일.. 더보기
[ OSGi ] 4 - Spring DM 1 [ OSGi ] 3 - OSGi plugin 의존 관계 에서 서로 다른 Plugin 간의 Class 사용을 해보았다. ( Import-Package, Export-Package )그런데 이런 단순한 내용 뿐만 아니라 Spring의 핵심 기능인 DI는 IoC중의 한 종류인데 OSGi framework 에서도 IoC를 설계하여 적용 할수 있다.바로 OSGi의 서비스 등록인데 이는 http://xguru.net/tag/osgi 에서 OSGi 시작하기 4, OSGi 사직하기 5 에 잘 정리 되어 있다. 꼭 읽어봐야함!!! 여기서는 OSGi에서의 Spring DM을 이용한 서비스 등록을 보도록 하겠다. Spring DM을 할용해서 OSGi 서비스의 등록을 간편하게 할 수 있다. < 참고 >Spring DM은 현재.. 더보기
[ OSGi ] 3 - OSGi plugin 의존 관계 [ OSGi ] 2 - OSGi Plugin Project 에서 OSGi에서 구동될 Plugin을 개발할 프로젝트 생성과 install, start를 해보았다. 여기서는 여러 Plugin 간의 의존 관계를 보도록 하자. 이전에 만들었던 HelloWorldOSGi의 Plugin에 HelloOSGiWorldPrinter.java를 추가하고HelloWoldOSGiSub Plugin을 추가로 만들어서 HelloOSGiWorldPrinter에 정의된 메소드를 호출해보도록 하겠다. 추가 프로젝트 생성1. HelloWorldOSGi Project에 다른 Plugin에서 호출할 HelloOSGiWorldPtinter.java를 생성한다. 그리고 printer method를 추가한다. package kr.co.jabsi.. 더보기
[ OSGi ] 2 - OSGi plugin project [ OSGi ] 1 - OSGi 기초 에서 OSGi platform 까지 구동했다. 여기서는 OSGi안에서 서비스될 plugin( bundle ) 을 만들어 보도록 하자.우선 eclipse를 구동후 프로젝트를 생성하자 프로젝트 생성 1. 프로젝트 생성에서 Plug-in Project를 선택한다. 2. This plug-in is targeted to run with 에서 "an OSGi framework" 을 선택하고 "standrd"를 선택한다. 3. ID를 입력한다. ID : plugin(bundle)의 식별자가 된다. (OSGi command 에서 ss 명령어 입력시 나오는 Bundle-SymbolicName ) Version : plugin(bundle) 버전 Name : Bundle-Name A.. 더보기
[ OSGi ] 1 - OSGi 기초 OSGi란 ( Open Service Gateway initiative )OSGi는 Java VM에서 구동 될수 있는 플렛폼의 규약(Dynamic Module for Java)으로 Bundle( 혹은 Component / Plug-in / Moudule )의 Life Cycle ( install, start, stop, update, uninstall )을 Application의 재시작 없이 관리하는 프레임워크이다.OSGi의 적용된 대표적인 Application으로는 java 개발자라면 누구나 사용하는 Eclipse가 있다. (Eclipse의 Plugin인은 OSGi 기반이다. ) OSGi는 Specification만 존재하므로 여러 구현체 들이 따로 있는데 다음과 같다.Eclipse EquinoxApa.. 더보기