2014-03-12 1 views
1

서블릿 컨테이너 (Tomcat)에서 실행중인 웹 응용 프로그램이 있습니다. 내 계획은 실행중인 웹 응용 프로그램에 추가 모듈을 추가 및 제거하기 위해 핫 플러그를 사용하는 것입니다. 이러한 추가 모듈에는 비즈니스 로직이 있지만 서블릿, JSP 페이지 또는 HTML 파일과 같은 웹 관련 요소는 포함되어 있지 않습니다.웹 응용 프로그램 모듈 용 핫 플러그 ​​

가장 좋은 방법은 무엇입니까?

OSGi를 사용하기 위해 Tomcat에서 Glassfish로 전환하는 것에 대해 생각했습니다. Tomcat에서 Apache Felix를 사용하려고 생각했습니다.

대안은 무엇입니까?

답변

2

다운 타임없이 신속하게 업데이트 할 수있는 모듈 식 응용 프로그램을 만들고 싶다면 OSGi가 확실히 적합한 기술입니다.

  1. 당신은 아파치 펠릭스 같은 OSGi 컨테이너로 시작, 대부분이 부두를 기반으로 (응용 프로그램 및 웹 서버 모두에 대해 해당 컨테이너에 번들을 배포 할 수 있습니다

    당신은 선택의 몇 가지있다). 그렇게하면 모든 것이 번들이며 필요할 경우 업데이트 할 수 있습니다. 처음부터 시작하고 사용해야하는 기존 서블릿 컨테이너에 제약이 없다면 이것이 가야할 길입니다.

  2. 기존 서블릿 컨테이너로 계속 작업해야하는 경우 OSGi 컨테이너를 포함하는 WAR를 배포하면 OSGi 컨테이너가 응용 프로그램을 구성하는 모든 번들을로드합니다. 이 경우 서블릿 및 필터를 "호스트"서블릿 컨테이너에 등록 할 특별한 "브리지"번들을 배포 할 수 있습니다.

Glassfish는 Glassfish 자체가 Felix를 기반으로하기 때문에 첫 번째 옵션과 조금 다릅니다. 응용 프로그램에 사전 설치된 많은 "추가"번들을 얻을 수 있습니다. 어쨌든 그 중 80 %를 사용한다면 그만한 가치가있을 것입니다. 응용 프로그램에서 Glassfish (JavaEE) 기능을 거의 사용하지 않으면 Felix 만 시작하여 거기에서 구성 요소를 선택하는 것이 좋습니다.