Apache Karaf è un sottoprogetto di Apache Felix . È definito come "un contenitore OSGi leggero".
Non capisco quando dovrei usare i pesi massimi e quando usare i pesi leggeri. Il loro sito non lo spiega troppo.
Apache Karaf è un sottoprogetto di Apache Felix . È definito come "un contenitore OSGi leggero".
Non capisco quando dovrei usare i pesi massimi e quando usare i pesi leggeri. Il loro sito non lo spiega troppo.
Risposte:
L'etichetta "contenitore OSGi leggero" contrappone Karaf con altri contenitori OSGi ricchi di funzionalità, non con Felix .
Per citare Guillaume Nodet (autore di Karaf) da qui :
Felix è solo il core runtime OSGi. Karaf fornisce una "distribuzione" basata su Felix aggiungendo altre funzionalità come una console, un meccanismo di remoting SSH, un deployer di file e altro.
In questo diagramma dell'architettura Karaf, Felix (o altra implementazione OSGi - attualmente è supportato anche Equinox ) è la casella OSGi, le altre caselle sono le funzionalità aggiunte da Karaf:
Pertanto, a meno che tu non abbia esigenze specifiche che non sono soddisfatte da Karaf (che richiede l'accesso all'implementazione sottostante) di solito ha senso utilizzarlo poiché fornisce più "out of the box".
@Marcel Karaf non è monolitico o enorme come un server Java EE. È un'implementazione molto sottile e minimalista. È un prodotto di base senza molte funzionalità diverse da una console di base, il caricamento dei file in modo da poter effettivamente leggere i file di configurazione, ecc. L'ultimo file zip di esso è 19,1 MB. Si. Piccolo. Può essere facilmente eseguito su piccoli dispositivi e funziona in modalità embedded.
Quello a cui potresti pensare è qualcosa di più simile a ServiceMix che usa Karaf come core / kernel. Ma include CXF, ActiveMQ, Camel e altre librerie nella sua configurazione completa. Anche allora hanno dimensioni minime, medie e complete.
Davvero, per il 99% dei progetti là fuori non avrebbe senso iniziare direttamente con Felix e non usare invece Karaf.
Attualmente, ci sono tre popolari contenitori OSGi open source:
- 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.
Il progetto Apache mantiene un contenitore OSGi generico chiamato Felix. Qui è usato come ServiceMix e
La differenza principale tra ServiceMix e Karaf è che ServiceMix raggruppa un sacco di altri componenti di integrazione: broker di messaggi ActiveMQ, motore di routing Camel e altre cose
Secondo: http://kevinboone.net/osgitest.html