Apache Felix
| Company type | Open source software project |
|---|---|
| Industry | Software framework |
| Founded | June 21, 2007 |
| Headquarters | International |
| Products | OSGi Core Release 6 framework implementation |
| Owner | Apache Software Foundation |
| Website | felix |
Apache Felix represents a freely available open source realization of the OSGi Core Release 6 framework specification. The original source code was contributed by the Oscar project under ObjectWeb. Over the course of more than a year, developers refined Felix, enhancing its capabilities while preserving its initial size and efficiency. On June 21, 2007, Felix advanced from incubation status to become a top-level initiative within the Apache Software Foundation, noted as one of its most compact software projects.
Running Felix
To operate Apache Felix OSGi, obtain the felix-framework-4.x.x.tar.gz or felix-framework-4.x.x.zip archive from the official distribution site. After decompressing the package, start Felix by executing:
Upon installation and activation of bundles, entering the help command in the console will display a list of supported commands, such as:
- bundlelevel <level> <id> ... | <id> - assign or retrieve bundle start level
- cd [<base-URL>] - change or show current base URL
- find <bundle-name> - locate bundles containing specified substring
- headers [<id> ...] - show header information for bundles
- help - list available implementation commands
- inspect - examine dependency details (packages, services)
- install <URL> [<URL> ...] - add one or more bundles
- log [<max>] [error|warn|info|debug] - view recent log entries filtered by level
- obr help - commands related to OSGi bundle repository
- ps [-l | -s | -u] - display installed bundles with options
- refresh [<id> ...] - refresh package states
- resolve [<id> ...] - attempt to resolve specified bundles
- shutdown - terminate framework operation
- start <id> [<id> <URL> ...] - initiate bundle(s)
- startlevel [<level>] - retrieve or set framework start level
- stop <id> [<id> ...] - halt bundle(s)
- sysprop [-r] [<key>] [<value>] - manage system properties
- uninstall <id> [<id> ...] - remove bundle(s)
- update <id> [<URL>] - update a bundle's contents
- version - show framework version information
Version history
Felix Framework Releases
| Version | Supported OSGi Specification | Release Date |
|---|---|---|
| 7.0.0 | R7 | December 25, 2020 |
| 6.0.3 | R6 | May 2, 2019 |
| 6.0.2 | R6 | January 31, 2019 |
| 6.0.1 | R6 | August 20, 2018 |
| 5.2.0 | R6 | September 25, 2015 |
| 5.0.1 | R6 | June 21, 2015 |
| 5.0.0 | R4 | April 24, 2015 |
| 4.6.1 | R4 | March 8, 2015 |
Subprojects
The primary subprojects that form part of the Apache Felix ecosystem include:
| Component | Current Version | Release Date |
|---|---|---|
| AutoConf Resource Processor | 0.1.8 | January 16, 2016 |
| Bundle Repository | 2.0.10 | April 21, 2017 |
| Configuration Admin | 1.9.16 | June 15, 2019 |
| Connect | 0.2.0 | May 25, 2018 |
| Configurator | 1.0.10 | June 15, 2019 |
| Converter | 1.0.10 | August 26, 2019 |
| Coordinator | 1.0.2 | November 9, 2015 |
| Dependency Manager 4 | r15 | December 23, 2018 |
| Deployment Admin | 0.9.10 | January 16, 2016 |
| Event Admin | 1.5.0 | May 4, 2018 |
| File Install | 3.6.4 | October 23, 2017 |
| Framework Security | 2.6.1 | August 16, 2018 |
| Framework | 6.0.3 | May 2, 2019 |
| 'Gogo' (Shell and Runtime) | '5' (various modules) | 'January 14-28, 2019' |
| 'Health Check Suite' (Annotations, API, Core, General Checks, Webconsole Plugin) | '2.x' series | 'February - May, 2019' |
| 'HTTP Service Components' (API, Base, Bridge, Bundle, Jetty, Proxy, Reactor) | '3.x - 5' series | '2014 - September, 2019' |
| 'Inventory Printer' | '1.0.6' | 'December 5, 2017' |
| 'iPOJO' Core and associated modules (Annotations, API, Architecture Commands, BND Plugin, Composite) | '1.12.x' series | 'December 16, 2014' (core modules) |
| 'iPOJO' Additional Handlers (Event Admin handler, Extender pattern handler, JMX handler) | '1.x' series | '2009 - May 11, 2011' |
| 'iPOJO' Manipulator and Maven Plugin modules | '1.12.x' series | 'December 16, 2014' |
| 'iPOJO' Runtime Project and Whiteboard pattern handler | '1.x -1.7.x' series | 'May 15,2013 - December16,2014' |
| 'Jaas Support' Bundles and Boot Classpath Jar | '1.0.2' | 'February13,2017' |
| 'junit4osgi' Maven plugin and UI components | '1.0.0' | 'April-May2009' |
| 'Lightweight HTTP Service' Core and Reactor | '0.1.6' | 'May5,2017' |
| 'Logback' Logging Framework Integration | '1.0.2' | 'January22,2019' |
| 'Main Framework Module' | '6.0.3' | 'May2,2019' |
| 'Metatype', 'OBR Maven plugin', 'OSGi Check Maven Plugin', 'Preferences', 'Remote Shell', 'Resolver', 'SCR (Declarative Services)' and related SCR modules | (various versions) | (2008-2019) |
| 'Shell Text UI', 'Shell', 'System Ready', 'UPnP Drivers and Extras', 'User Admin', 'Utils', 'Web Console and Plugins' | (various versions) | (2008-2019) |
This component-based design facilitates adaptable deployment in various enterprise settings while supporting strong development of OSGi-compliant applications.
Projects utilizing Felix
The following initiatives highlight the integration of Apache Felix:
- ServiceMix 4 – an open source enterprise service bus featuring an OSGi foundation and JBI compatibility.
- Apache Sling – an application framework built on OSGi for JCR content repositories.
- EasyBeans – a freely available EJB 3 container implementation.
- GlassFish (version 3) – a Java EE application server platform.
- JOnAS 5 – an open source Java EE 5 server for enterprise applications.
- JORAM and JoramMQ – open source messaging brokers that support JMS, AMQP, and MQTT protocols.
- Project Fuji within Open ESB v3 – a modular, lightweight core runtime for ESB.
- Jitsi (previously SIP Communicator) – an open source Java-based VoIP client and multi-protocol instant messaging solution.
- modulefusion – a collection of open source Java enterprise applications.
- NetBeans – a free integrated development environment supporting multiple programming languages.
- SOA Software – Akana’s API Gateway (formerly known as SOA Software).
- Spring Roo – a rapid application development tool tailored for Java enterprise projects.
- Opencast Matterhorn – an open source platform designed for managing and distributing academic audio and video content.
- JIRA – supports plug-ins implemented as OSGi bundles.
- Adobe Experience Manager – a comprehensive enterprise content management and digital asset management solution by Adobe Inc.
See also
- OSGi Alliance
- Apache Aries – implementations of Blueprint Container and extensions for OSGi Enterprise specifications
- Equinox
- Concierge OSGi