Whiteship's Note


맥북에서도 Spring DM 웹 번들 설치 성공

Spring DM/exercise : 2008.07.31 00:03


인증샷 1. 번들 목록

사용자 삽입 이미지

인증샷 2. simple-web-app 첫 화면

사용자 삽입 이미지
인증샷 3. 서블릿

사용자 삽입 이미지
인증샷 4. JSP는.. 또 실패;;

사용자 삽입 이미지
흠... 리소스가 제대로 등록이 안 되있는건지.. 원인을 좀 찾아봐야겠습니다.


맥북에서 Spring DM 웹 번들 돌린게 왜 기쁘냐면요;; 안 해보신 분들은 몰라요... 윈도에서 돌리는 Equinox(줄여서 윈E)랑 맥에서 돌리는 Equinox(맥E)가 좀 차이가 나는 것 같습니다. 버그 같은데, 그게 맥E 의 버그인지, Spring DM web extender의 버그 인지, catalina의 버그인지 도통..잘 모르겠습니다.

spring web extender가 catalina 번들이 제공하는 서비스를 필요로 하는데, 만약에 catalina 보다 먼저, start 시키면 당연히.. resolved 상태로 못가고 해당 서비스가 들어올 때까지 좀 기다립니다. 그러다가 특정 시간이 되면 타임되서 넘어갑니다. 이게 정상이죠. 윈E에선 이렇게 정상적으로 동작합니다. 그래서 설치할 번들 목록에서 spring web extender 가 catalina 보다 위에 있어도(즉 먼저 start를 시도하겠죠.) 상관없습니다. 기다리다 보면, 다른 번들들 모두 Active 상태가 되고, spring web extender만 Resolved 상태로 남아있습니다.(catalina도 Active 상태가 됐으니 web extender가 필요로 하는 서비스가 제공 되서 상태가 변한겁니다.) 그러면... 이제 web extender만 다시 start 명령어로 Active 상태로 만들어 주면 됩니다.

하지만.... 맥E에선, 한 번 해보세요~ 해보셨어요? 안 해보셨으면 말을 하지마세요.

사용자 삽입 이미지
사용자 삽입 이미지


참.. 테스트 환경은. Eclipse 3.4. Spring DM 1.1.1 입니다.

ps: Bad case에 걸렸을 때 Good case를 찾아 빠져 나가는 방법이 있긴 있는데.. 그건 비밀입니다. 캬캬캬
top


Spring DM, Eclipse 플러그인 개발 환경에 통합하기

Spring DM/Appendix C : 2008.07.09 10:32


참조: http://static.springframework.org/osgi/docs/current/reference/html/appendix-pde-integration.html

레퍼런스대로 하면, 잘 안 될 겁니다. Spring DM 최신 버전도 못 쓰고 말이죠. Spring DM 때문에 Spring IDE를 설치해야 하는 것도 아닌데, Spring DM 레퍼런스 이 부분은 별로 네요. 그래서 제 맘대로 다시 작성합니다.

Eclipse의 Target Platform에 Spring DM 관련 번들들을 설정 해 놓고 손 쉽게 Equinox위에서 해당 번들들을 돌릴 환경을 마련하는 과정입니다. 간단합니다.

먼저 Spring DM 프로젝트를 다운로드 합니다.

http://www.springframework.org/osgi

압축을 풀고, lib과 dist에 있는 모든 번들들(*source*가 들어간건 제외합니다. 소스는 필요 없습니다.)을 복사해서 특정 폴더 하나로 이동시켜둡니다.

사용자 삽입 이미지

그리고 Eclipse의 Target Platform 설정으로 들어가서 해당 폴더를 Location으로 잡아주고, Reload 버튼을 클릭합니다. 환경 설정은 끝났습니다.

사용자 삽입 이미지

이제 Equinox를 실행해보죠.

사용자 삽입 이미지

흠.. 뭐 별게 없스니다. 왼쪽에 있는 서브 메뉴에서 OSGi Framework을 더블클릭해서 새로운 Run Configuration 인스턴스를 만들고 이름을 Spring DM이라고 지어줬습니다. 번들들은 알아서 Target Platform에 설정해 둔것들을 로딩해 왔을 겁니다. Apply를 클릭하고 Run을 클릭합니다.

번들들의 상태와 Equinox 명령어를 확인해보죠.

사용자 삽입 이미지

test랑 jetty fragment는 resolved 상태로 되어 있네요. test 번들은 저렇게 설치할 용도로 만들어진게 아니니까 폴더에서 빼줘야 될 것 같네요. jetty fragment는 나중에 Jetty를 서브릿 컨테이너로 사용할 때 제티 설정을 변경할 수 있는 번들이니까 뭐.. 일단 내비둬도 상관없겠네요.

중요한 건, Extender가 제대로 동작 중이냐 입니다. 번들 ID 3번으로 잘 동작하고 있군요. Spring DM에서 가장 중요한 번들이 Extender입니다. 좀 더 자세히 봐볼까요?

사용자 삽입 이미지

흠.. 확실히 콘솔 명령어는 Felix보다 Equinox가 좀 더 많고 편합니다.

'Spring DM > Appendix C' 카테고리의 다른 글

Spring DM, Eclipse 플러그인 개발 환경에 통합하기  (0) 2008.07.09
top