OSGi: What are the differences between Apache Felix and Apache Karaf?

The ‘lightweight OSGi container’ label is contrasting Karaf with more feature rich OSGi containers, not with Felix.

To quote Guillaume Nodet (Karaf’s author) from here:

Felix is just the OSGi core runtime. Karaf provides a “distribution” based on Felix by adding other features such as a console, an SSH remoting mechanism, a file deployer and more.

In this diagram of the Karaf architecture, Felix (or other OSGi implementation – currently Equinox is also supported) is the OSGi box, the other boxes are the features added by Karaf:

Karaf Architecture
Therefore, unless you have specific needs which are not met by Karaf (requiring access to the underlying implementation) it usually makes sense to use this since it provides more ‘out of the box’.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)