O Apache Karaf é um subprojeto do Apache Felix . É definido como "um contêiner OSGi leve".
Não entendo quando devo usar o peso pesado e quando usar o peso leve. O site deles não explica muito isso.
O Apache Karaf é um subprojeto do Apache Felix . É definido como "um contêiner OSGi leve".
Não entendo quando devo usar o peso pesado e quando usar o peso leve. O site deles não explica muito isso.
Respostas:
O rótulo 'container OSGi leve' contrasta o Karaf com outros contêineres OSGi ricos em recursos, não com o Felix .
Para citar Guillaume Nodet (autor de Karaf) daqui :
Felix é apenas o tempo de execução principal do OSGi. O Karaf fornece uma "distribuição" baseada no Felix, adicionando outros recursos, como um console, um mecanismo de comunicação remota SSH, um implementador de arquivos e muito mais.
Neste diagrama da arquitetura Karaf, Felix (ou outra implementação OSGi - atualmente o Equinox também é suportado) é a caixa OSGi, as outras caixas são os recursos adicionados pelo Karaf:
Portanto, a menos que você tenha necessidades específicas que não sejam atendidas pelo Karaf (exigindo acesso à implementação subjacente), geralmente faz sentido usá-lo, pois fornece mais 'pronto para uso'.
@Marcel Karaf não é monolítico ou enorme como um servidor Java EE. É uma implementação muito pequena e minimalista. É um produto principal, sem muitas funcionalidades, além de um console básico, carregamento de arquivos para que você possa realmente ler arquivos de configuração, etc. O arquivo zip mais recente é de 19,1 MB. Sim. Pequeno. Ele pode ser executado facilmente em dispositivos pequenos e trabalhar de forma integrada.
O que você pode estar pensando é algo mais parecido com o ServiceMix, que usa o Karaf como núcleo / kernel. Mas inclui CXF, ActiveMQ, Camel e outras bibliotecas em sua configuração completa. Mesmo assim, eles têm tamanhos mínimo, médio e completo.
Realmente, para 99% dos projetos por aí, não faria sentido começar diretamente com Felix e não usar o Karaf.
Atualmente, existem três contêineres OSGi de código aberto 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.
O projeto Apache mantém um contêiner OSGi de uso geral chamado Felix. Aqui é usado como ServiceMix e
A principal diferença entre o ServiceMix e o Karaf é que o ServiceMix agrupa vários outros componentes de integração - o broker de mensagens ActiveMQ, o mecanismo de roteamento Camel e algumas outras coisas
De acordo: http://kevinboone.net/osgitest.html