번들 시작 하기
 
우선 지난 시간에 번들을 만들었다.
자동으로 생성이 다 됐다..
콘솔을 통해서 helloworld 출력도 확인했다.
 
콘솔창에 ss를 쳐보자.
 
osgi> ss
"Framework is launched."
 
 
id State Bundle
0 ACTIVE org.eclipse.osgi_3.13.0.qualifier
Fragments=177
1 ACTIVE org.eclipse.equinox.simpleconfigurator_1.3.0.v20171007-0939
2 ACTIVE com.ibm.icu_58.2.0.v20170418-1837
3 ACTIVE com.jcraft.jsch_0.1.54.v20170116-1932
4 ACTIVE com.sun.el_2.2.0.v201303151357
5 ACTIVE javax.annotation_1.2.0.v201602091430
6 ACTIVE javax.el_2.2.0.v201303151357
7 ACTIVE javax.inject_1.0.0.v20091030
8 ACTIVE javax.servlet_3.1.0.v201410161800
9 ACTIVE javax.servlet.jsp_2.2.0.v201112011158
10 ACTIVE org.apache.ant_1.10.1.v20170504-0840
11 ACTIVE org.apache.batik.css_1.9.0.v20170908-1305
12 ACTIVE org.apache.batik.i18n_1.9.0.v20170906-1841
13 ACTIVE org.apache.batik.util_1.9.0.v20170906-1841
14 ACTIVE org.apache.commons.codec_1.9.0.v20170208-1614
15 ACTIVE org.apache.commons.jxpath_1.3.0.v200911051830
16 ACTIVE org.apache.commons.logging_1.1.1.v201101211721
.
.
.
259 ACTIVE org.w3c.dom.smil_1.0.1.v200903091627
260 ACTIVE org.w3c.dom.svg_1.1.0.v201011041433
261 RESOLVED test_1.0.0.qualifier
 
 
위와 같이.. 번들이 261개나 올라와 있다.
마지막은 내가 만든 test 번들이다.
 
내가 참고로한 자료는 ( Part 1 : 당신의 첫번째 번들 EclipseZone  Getting Started with OSGi ) ss 치면
 
Framework is launched.
id State Bundle
0 ACTIVE system.bundle_3.2.1.R32x_v20060919
 
이렇게 번들 하나만 올라와 있는데...
이건 무슨 260개나 올라와 있다.. 저게 다 뭐하는 건지 모르겠지만.. 우선 무시하고 다음으로 넘어 갔다.
 
우선 내가 만든 번들은 test인데 뒤에 꼬리가 _1.0.0.qualifier라고 붙는다.. 이게 어떻게 붙나 봤더니..
MANIFEST.MF 파일에 그렇게 써있다.
 
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: test
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: test.Activator
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: org.osgi.framework;version="1.3.0"
 
 Bundle-SymbolicName: + Bundle-Version로 표시 된다..
참고로 Import-Package에 내가 import하고 싶은 클래스를 써넣어야만.. 소스에서 import가 가능하다..
그리고 번들에서 실행을 하는 클래스를 지정하는 문장은 Bundle-Activator: test.Activator 이다.
 
 
내가 만든 프로그램은 ID 261이다.
stop 261이라고 쳐보면.
Goodbye World!!라고 출력 된다.
 
 
그리고 ss라고 다시 쳐보면
261 RESOLVED test_1.0.0.qualifier 라고
ACTIVE -> RESOLVED로 변한걸 확인 할 수 있다.
이게 라이프 사이클을 나타내는 거라고 한다.
 
다시 start 261라고 쳐보자
 
그럼 hello world를 다시 출력한다.
 
 
그리고 다시 ss를 치면 ACTIVE로 변한 것을 확인 할 수 있다.
 
 
 
참고로 이미 만들어진 번들을 그냥 install하려면
install file:HelloWorld.jar ”와 같은 명령어를 입력 하면 된다.
 
이클립스를 사용하면 실행 때 선택하면 다 install 해준다.


참고 자료:

파트1 - 당신의 첫번째 번들 (1).pdf

+ Recent posts