Apache Karaf 는 Apache Felix 의 하위 프로젝트입니다 . "경량 OSGi 컨테이너"로 정의됩니다.
언제 헤비급을 사용해야하는지, 언제 경량을 사용해야하는지 모르겠습니다. 그들의 사이트는 이것을 너무 많이 설명하지 않습니다.
Apache Karaf 는 Apache Felix 의 하위 프로젝트입니다 . "경량 OSGi 컨테이너"로 정의됩니다.
언제 헤비급을 사용해야하는지, 언제 경량을 사용해야하는지 모르겠습니다. 그들의 사이트는 이것을 너무 많이 설명하지 않습니다.
답변:
'경량 OSGi 컨테이너'레이블은 Karaf 와 Felix가 아니라 더 많은 기능이 풍부한 OSGi 컨테이너와 대조 됩니다.
Guillaume Nodet (Karaf의 저자) 를 여기에서 인용 하십시오 :
Felix는 OSGi 핵심 런타임입니다. Karaf는 콘솔, SSH 원격 메커니즘, 파일 배포자 등과 같은 다른 기능을 추가하여 Felix를 기반으로 한 "배포"를 제공합니다.
Karaf 아키텍처의이 다이어그램에서 Felix (또는 다른 OSGi 구현-현재 Equinox 도 지원됨)는 OSGi 상자이고 다른 상자는 Karaf가 추가 한 기능입니다.
따라서 Karaf가 충족하지 않는 특정 요구 사항이 없으면 (기본 구현에 액세스해야 함) 일반적으로 더 많은 '제외'를 제공하므로 이것을 사용하는 것이 좋습니다.
@Marcel Karaf는 Java EE 서버처럼 모 놀리식이거나 거대하지 않습니다. 매우 슬림하고 미니멀 한 구현입니다. 구성 파일 등을 실제로 읽을 수 있도록 기본 콘솔, 파일 로딩 이외의 많은 기능이없는 핵심 제품입니다. 최신 zip 파일은 19.1MB입니다. 네. 작은. 소형 장치에서 쉽게 실행하고 내장 된 상태로 작업 할 수 있습니다.
당신이 생각하는 것은 Karaf를 코어 / 커널로 사용하는 ServiceMix와 같은 것입니다. 그러나 CXF, ActiveMQ, Camel 및 기타 라이브러리는 전체 구성으로 포함됩니다. 그럼에도 불구하고 그들은 최소, 중간 및 전체 크기를 가지고 있습니다.
실제로 99 %의 프로젝트에서 Felix로 직접 시작하고 Karaf를 대신 사용하는 것은 이치에 맞지 않습니다.
현재 널리 사용되는 세 가지 오픈 소스 OSGi 컨테이너가 있습니다.
- Equinox. It is the modular Java runtime at the heart of the Eclipse IDE, - Knopflerfish, Is an open source implementation of the OSGi R3 and OSGi R4 specifications. - Apache Felix. Is the open source OSGi container from the Apache Software Foundation.
Apache 프로젝트는 Felix라는 범용 OSGi 컨테이너를 유지 관리합니다. 여기는 ServiceMix로 사용되며
ServiceMix와 Karaf의 주요 차이점은 ServiceMix는 ActiveMQ 메시지 브로커, Camel 라우팅 엔진 및 기타 여러 가지 다른 통합 구성 요소를 번들로 제공한다는 것입니다.