Case Studies
Migration of Apache Felix sub-projects to support Jakarta Servlet API 6.x and OSGi Jakarta Servlet Whiteboard
Migrated 30 “Apache Felix” sub-projects to “Jakarta Servlet API 6.0” https://jakarta.ee/specifications/servlet/6.0/ and “Whiteboard Specification for Jakarta™ Servlet” https://docs.osgi.org/specification/osgi.cmpn/8.1.0/service.servlet.html, as required by multiple commercial projects being worked on.
This project included, among others:
- Upgrade and refactoring of 30 “Apache Felix” project sub-projects – including “Apache Felix HTTP”, “Apache Felix Health Checks”, “Apache Felix Webconsole”, and other – to support “Jakarta Servlet API 6.0” and “OSGi Jakarta Servlet Whiteboard”
- Upgrade of required dependencies to support “Jakarta Servlet API 6.0” – e.g. “Servlet Whiteboard API” (‘org.osgi.service.servlet’)
- Verification via both integration tests and as part of an actual project https://github.com/geckoprojects-org/org.gecko.graphql/pull/8
Technology stack
- Java 17
- Apache Felix
- Apache Felix HTTP
- Apache Felix HTTP Base
- Apache Felix HTTP Bridge
- Apache Felix HTTP Inventory Printer
- Apache Felix HTTP Integration Tests
- Apache Felix HTTP Jetty
- Apache Felix HTTP Proxy
- Apache Felix Servlet API
- Apache Felix HTTP SSL Filter
- Apache Felix HTTP Webconsole Plugin
- Apache Felix Health Checks
- Apache Felix Webconsole
- Apache Felix Webconsole Plugins
- Apache Felix System Ready
- Apache Felix Inventory
- Apache Felix HTTP
- Jakarta Servlet API 6.0
- Eclipse Jetty 12
- OSGi 8.1, including OSGi Jakarta Servlet Whiteboard API and other
- BND
- Maven
Industry
IT
More information
- Repository:
- Issues
- Upgrade Apache Felix to Jakarta Servlet API 6.x ( Issue FELIX-6612 ): https://issues.apache.org/jira/browse/FELIX-6612 – including Mikado Graph (mind-map format) attached to issue: https://issues.apache.org/jira/secure/attachment/13061781/Upgrade%20Apache%20Felix%20to%20Jakarta%20Servlet%20API%206.x.20230731.pdf
- [Servlet Whiteboard] Prepare Servlet Whiteboard API for use of Servlet 6 ( Issue 597 ): https://github.com/osgi/osgi/issues/597
- PRs
- Upgrade Apache Felix to Jakarta Servlet API 6.x (milestone 2): Pull Request #218: https://github.com/apache/felix-dev/pull/218
- Upgrade Apache Felix to Jakarta Servlet API 6.x (milestone 1): Pull Request #217: https://github.com/apache/felix-dev/pull/217
- Upgrade of ‘org.osgi.service.servlet’ to support Jakarta Servlet API 6.x: Pull Request #611: https://github.com/osgi/osgi/pull/611
- Upgrade to Jakarta Servlet API 6.x, and more: Pull Request #8: https://github.com/geckoprojects-org/org.gecko.graphql/pull/8
-
Jakarta Servlet 6.0: https://jakarta.ee/specifications/servlet/6.0/
- OSGi Compendium 8.1: Whiteboard Specification for Jakarta™ Servlet: https://docs.osgi.org/specification/osgi.cmpn/8.1.0/service.servlet.html