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에서 자세히 다룸.