||It has been suggested that Apache Karaf be merged into this article. (Discuss) Proposed since April 2014.|
|This article needs additional citations for verification. (August 2013)|
|Developer(s)||Apache Software Foundation|
|Stable release||4.4.0 / March 25, 2014|
|Size||1.20 MB (archived)|
|Type||OSGi Service Platform|
|License||Apache 2.0 Licence|
Apache Felix is an open source implementation of the OSGi Release 5 core framework specification. The initial codebase was donated from the Oscar project at ObjectWeb. The developers worked on Felix for a full year and have made various improvements while retaining the original footprint and performance. On June 21, 2007, the project graduated from incubation as a top level project and is considered the smallest size software at Apache Software Foundation.
||This article contains instructions, advice, or how-to content. (April 2014)|
To run Apache Felix OSGi, you need to download the felix-framework-4.x.x.tar.gz or felix-framework-4.x.x.zip compressed file from the site. Once you have extracted the Felix framework distribution, from the command line in the extracted directory type the following:
java -jar bin/felix.jar
After bundles are installed and running, typing a command like help from the console will display all available commands, which are:
- bundlelevel <level> <id> ... | <id> - set or get bundle start level.
- cd [<base-URL>] - change or display base URL.
- find <bundle-name> - display bundles matching substring.
- headers [<id> ...] - display bundle header properties.
- help - display impl commands.
- inspect - inspect dependency information (e.g., packages, service, etc.).
- install <URL> [<URL> ...] - install bundle(s).
- log [<max>] [error|warn|info|debug] - list recent log entries.
- obr help - OSGi bundle repository.
- ps [-l | -s | -u] - list installed bundles.
- refresh [<id> ...] - refresh packages.
- resolve [<id> ...] - attempt to resolve the specified bundles.
- shutdown - shutdown framework.
- start <id> [<id> <URL> ...] - start bundle(s).
- startlevel [<level>] - get or set framework start level.
- stop <id> [<id> ...] - stop bundle(s).
- sysprop [-r] [<key>] [<value>] - Display, set, modify and remove system properties.
- uninstall <id> [<id> ...] - uninstall bundle(s).
- update <id> [<URL>] - update bundle.
- version - display version of framework.
Projects Using Felix
The projects listed below highlight the adoption of Apache Felix:
- ServiceMix 4  - An open source ESB with an OSGi core. It also includes JBI support.
- Apache Sling - OSGi-based applications layer for JCR content repositories.
- EasyBeans - open source EJB 3 container.
- GlassFish (v3) - application server for Java EE.
- JOnAS 5 - open source Java EE 5 application server.
- Project Fuji in Open ESB v3 - Light weight and modular ESB core runtime.
- Jitsi (formerly known as SIP Communicator) - open source Java VoIP and multi-protocol instant messenger.
- modulefusion - open source collection for Java enterprise applications.
- NetBeans - The free MultiLanguage IDE.
- Spring Roo - RAD tool for Java-based enterprise applications
- Opencast Matterhorn - Open Source software to produce, manage and distribute academic audio and video content, especially lecture recordings.
- OSGi Alliance
- Apache ACE, a software distribution framework based on OSGi that allows user to centrally manage and distribute software components
- Apache Aries, a Blueprint Container implementations and extensions of application-focused specifications defined by OSGi Enterprise Expert Group
- Concierge OSGi
- Apache Karaf
- Official website
- Apache Felix Downloads Site
- Oscar project website
- Oscar Bundle Repository
- Dynamic deployment with Apache Felix by Marcel Offermans at fosdem 2009
- Feathercast podcast about Felix released 
- DynamicJava, website provides pragmatic for developing Dynamic Java Applications.
- Bartlett, Neil (2009-01-10). "OSGi In Practice" (DRAFT ed.). p. 229.