Blog
Migration of Apache Felix sub-projects to support Jakarta Servlet API 6.x and OSGi Jakarta Servlet Whiteboard
Final milestone of migrating 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) was completed, 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.x and OSGi Jakarta Servlet Whiteboard
- Upgrade of required dependencies to support Jakarta Servlet API 6.x – e.g. “Servlet Whiteboard API” (‘org.osgi.service.servlet’)
- Verification via both integration test and as part of an actual project (https://github.com/geckoprojects-org/org.gecko.graphql/pull/8)
Technology stack:
- Apache Felix – including Apache Felix HTTP, Apache Felix Health Checks, Apache Felix Webconsole, and other
- Java 17
- Jakarta Servlet API 6.x
- OSGi 8.1, including OSGi Jakarta Servlet Whiteboard API and other
- Jetty 12
- BND
- Maven
More information:
- “[FELIX-6612] Upgrade Apache Felix to Jakarta Servlet API 6.x” 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)
- “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
- “[Servlet Whiteboard] Prepare Servlet Whiteboard API for use of Servlet 6”https://github.com/osgi/osgi/issues/597
- “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