What is new?

스프링 DM이 젊은 프로젝트(young project)이다 보니, 매 버전 마다 새로운 기능이 추가 된다. 이 번 챕터에 그 내용들을 다룬다.

1.1.X

1. Web Support

찬욱군 블로그에서 본 내용이군요.

The biggest feature in Spring Dynamic Modules 1.1.x is the transparent support for web applications on OSGi platforms.

멋진 단어 중에 하나인 Transparent 나왔습니다. non-invasive와 같은 맥락으로 이해하면 되겠죠. 투명하게 지원한다.. 뭐 이렇게 해석하시거나 이해(?)하시면 곤란합니다. 톰캣이나 제티같은 웹 컨테이너를 직접 통합하여 WAR를 바로 배포할 수 있도록 했다고 합니다.

Chapter 8에서 자세히 다룬답니다.

2. Classpath Resource Abstraction

OSGi resource를 찾을 때 classpath: 나 classpath*:를 사용할 수 있다. 마치 스프링의 component scanning과 비슷한 것이다.

OSGi resource에 대해서는 다음을 참조.
– Section 4.4 “The Resource abstraction”
– 4.3.12 of the OSGi specification

(흠.. 뭐 천천히 살펴보죠. 레퍼런스가 어디로 도망가는 것도 아니고..)

3. Pluggable Extender Configuration

1.1.X는 스프링 DM에서 사용하는 extender(이 녀석은 지난 번 토비형님이 JCO에서 발표하실 때 봤었죠. 스프링 DM에서 가장 중요한 번들로, application context를 만들어 줍니다.) 기본 설정을 쉽게 변경할 수 있는 기능이 추가 됨.

fragment(자 어려운 용어 계속 나옵니다.ㅋㅋㅋ 단순하게 번들 상속이라고 할까요. 흠.. 빌붙기라고 할까요. 자신의 클래스로더를 만들지 않고 다른 번들에게 빌붙을 수 있습니다.)를 사용해서 애플리케이션 컨텍스트를 시작하는 방법, 웹 배포에 사용할 웹 컨테이너, 스프링 애플리케이션이 돌아갈 쓰레드 풀등의 설정을 사용자가 커스터 마이징 할 수 있다. 또한 OSGi 스프링 애플리케이션 컨테스트 라이프사이클에 대응하는 이벤트를 받는 것이 가능하다. 4.1에서 자세히 다룸.

OSGi 번들 상태 변화

사용자 삽입 이미지
Spring Dynamic Module for OSGi 1.0도 배포 되었고, 토비님께서 JCO에서 발표할 예정으로 되어 있는 Spring OSGi 재밌습니다.

본격적으로 공부를 시작하고 싶어서 레퍼런스를 조금 보고 있는데, 지금은 데이트를 하러 가야되서 이쯤에서 잠시 멈춥니다. 재밌습니다. 꺄호~ Spring Source 멋쟁이들.

참조 :
http://static.springframework.org/spring-osgi/snapshot-site/apidocs/index.html
http://www2.osgi.org/javadoc/r4/org/osgi/framework/Bundle.html
http://static.springframework.org/osgi/docs/current/reference/html/bnd-app-ctx.html