Pregunta

Apache Karaf es un subproyecto de Apache Felix . Se define como " un contenedor OSGi ligero " ;.

No entiendo cuándo debo usar el peso pesado y cuándo usar el peso ligero. Su sitio no explica esto demasiado.

¿Fue útil?

Solución

La etiqueta de 'contenedor OSGi ligero' está contrastando Karaf con más contenedores OSGi con muchas funciones, no con Felix .

Para citar a Guillaume Nodet (autor de Karaf) desde aquí :

  

Felix es solo el tiempo de ejecución principal de OSGi. Karaf proporciona una " distribución " basado en Felix agregando otras características como una consola, un mecanismo de comunicación remota SSH, un implementador de archivos y más.

En este diagrama de la arquitectura Karaf, Felix (u otra implementación OSGi - actualmente Equinox también está admitido) es el cuadro OSGi, los otros cuadros son las características agregadas por Karaf:

Karaf Architecture Por lo tanto, a menos que tenga necesidades específicas que no sean cubiertas por Karaf (que requieren acceso a la implementación subyacente), por lo general tiene sentido usar esto, ya que proporciona más "listo para usar".

Otros consejos

@Marcel Karaf no es monolítico o enorme como un servidor Java EE. Es una implementación muy delgada y minimalista. Es un producto central sin mucha funcionalidad que no sea una consola básica, carga de archivos para que pueda leer archivos de configuración, etc. El último archivo zip es de 19.1 MB. Sí. Pequeña. Se puede ejecutar fácilmente en dispositivos pequeños y trabajar en dispositivos integrados.

En lo que puedes estar pensando es en algo más como ServiceMix, que usa Karaf como núcleo / kernel. Pero incluye CXF, ActiveMQ, Camel y otras bibliotecas en su configuración completa. Incluso entonces tienen tamaños mínimos, medianos y completos.

Realmente, para el 99% de los proyectos no tendría sentido comenzar directamente con Felix y no usar Karaf en su lugar.

  

Actualmente, hay tres contenedores OSGi de código abierto populares:

  - 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.

http://www.javaworld.com/article/2077837/java-se/java-se-hello-osgi-part-1-bundles-for-beginners.html

El proyecto Apache mantiene un contenedor OSGi de propósito general llamado Felix. Aquí se utiliza como ServiceMix y

  

La principal diferencia entre ServiceMix y Karaf es que   ServiceMix agrupa un montón de otros componentes de integración & # 8212; ActiveMQ   Message Broker, el motor de enrutamiento Camel y algunas otras cosas

Según: http://kevinboone.net/osgitest.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top