OSGi Runtime Comparison: Eclipse Virgo vs Apache Karaf

I’ve been working for a while on deploying web applications onto an OSGi Runtime. Initially, we had Eclipse Virgo and Apache Karaf as the options. It’s not yet final but I thought maybe it would be nice to post some general comparison in this regard. It also fascinates me that although there are several works on OSGi Runtime/Server, but also in a way or another quite all of them end up in an dependency on or using Apache Felix Framework.

An overview of different OSGi Container Features

Shell FrameworkLogging APIInstance SupportHot DeploymentDynamic ConfigurationProvisioningWeb ContainerAdmin ConsoleOSGi Framework SupportedOSGi Container Runtime
Apache Felix GoGoLogBack?Yes?YesJetty /// Apache Tomcat /// Web Integration Layer (Java EE)YesEclipse EquinoxEclipse Virgo
Apache Felix GoGoLog4J, SLF4J, JCL, etcYesYesYesYesJettyYesEclipse Equinox ///
Apache Felix
Apache Karaf

I shall update the post with more results especially on Eclipse Gyrex if I can grab the time.

7 responses to “OSGi Runtime Comparison: Eclipse Virgo vs Apache Karaf”

  1. .Please note that Virgo Jetty Server supports Jetty as a web container

  2. Behrooz Nobakht says:

    Thank you Glyn, I updated the table.

  3. Thomas says:

    Thanks! You should definitely put Eclipse Gyrex and Apache ACE (at least for the provisioning) into the picture.

  4. Glen Mendez says:

    Hi, Any update on the evaluation? Which one did you end up choosing and why?

  5. Philomatic says:


    could you clarify what you’re meaning by the terms Instance Support and Dynamic Configuration ?

    Furthermore, how are Maven and P2 taken into account?

    Nice table so far, thank you!

    Best regards,

  6. Jammie Fonz says:

    Could you please update the table? I’m really interested in such information…

  7. Jeff Power says:

    hi Behrooz

    Thanks for sharing this. Just wonder if you have some updates to this considering its progress with updated version.


Leave a Reply

Your email address will not be published. Required fields are marked *