Michael H. Siemaszko created FELIX-6612:
-------------------------------------------
Summary: Upgrade Apache Felix to Jakarta Servlet API 6.x
Key: FELIX-6612
URL: https://issues.apache.org/jira/browse/FELIX-6612
Project: Felix
Issue Type: New Feature
Components: Health Checks, HTTP Service, Inventory, iPOJO, JAAS,
System Ready, Web Console
Reporter: Michael H. Siemaszko
Attachments: Upgrade Apache Felix to Jakarta Servlet API 6.x.pdf
Goal is to upgrade all relevant Apache Felix modules, which currently are using
either +Jakarta Servlet API 5.x+ or J{+}ava Servlet{+}, to {+}Jakarta Servlet
API 6.x{+}.
Attached Mikado graph ({color:#000080}+[https://mikadomethod.info/]+{color})
has all so far identified prerequisites listed, as well as progress on path to
main goal – i.e. items already completed are checked off ({color:#FF0000}green
icon{color}). Code is shared via
[https://github.com/ideas-into-software/felix-dev/tree/jakarta-servlet-6-x] (no
pull request for now – please see sections ‘Questions’ and ‘Next steps’ below).
Before starting, I asked on Apache Felix Users list
({color:#000080}+[https://www.mail-archive.com/[email protected]/msg18693.html]+{color}),
as well as researched if there is any ongoing effort to upgrade Apache Felix
to Jakarta Servlet 6.x (issues / pull requests, etc.). Besides
{color:#000080}+https://issues.apache.org/jira/browse/FELIX-6389+{color}, which
resembles this effort, I did not find anything. However, that issue is open
since 22/02/2021 and there has been no updates since 09/01/2022, as well as no
code shared as part of it. If any progress was made as part of
{color:#000080}+https://issues.apache.org/jira/browse/FELIX-6389+{color},
kindly please provide status update and perhaps these efforts can be merged.
h1. Modules affected
Modules with dependency on Java Servlet or Jakarta Servlet.
h2. org.apache.felix.http
* org.apache.felix.http.parent
* org.apache.felix.http.base
* org.apache.felix.http.bridge
* org.apache.felix.http.inventoryprinter
* org.apache.felix.http.itest
* org.apache.felix.http.jetty
* org.apache.felix.http.proxy
* org.apache.felix.http.samples.whiteboard
* org.apache.felix.http.servlet-api
* org.apache.felix.http.sslfilter
* org.apache.felix.http.webconsoleplugin
h2. org.apache.felix.webconsole
* org.apache.felix.webconsole
* org.apache.felix.webconsole.plugins.deppack
* org.apache.felix.webconsole.plugins.ds
* org.apache.felix.webconsole.plugins.event
* org.apache.felix.webconsole.plugins.gogo
* org.apache.felix.webconsole.plugins.memoryusage
* org.apache.felix.webconsole.plugins.metatype
* org.apache.felix.webconsole.plugins.obr
* org.apache.felix.webconsole.plugins.packageadmin
* org.apache.felix.webconsole.plugins.scriptconsole
* org.apache.felix.webconsole.plugins.shell
* org.apache.felix.webconsole.plugins.subsystems
* org.apache.felix.webconsole.plugins.upnp
* org.apache.felix.webconsole.plugins.useradmin
h2. org.apache.felix.healthcheck
* org.apache.felix.healthcheck.core
* org.apache.felix.healthcheck.webconsoleplugin
h2. Other
* org.apache.felix.jaas
* org.apache.felix.example.jaas.app
* org.apache.felix.example.jaas.jdbc-h2
* org.apache.felix.ipojo.webconsole
* org.apache.felix.systemready
* org.apache.felix.servicediagnostics.plugin
* org.apache.felix.inventory
h1. Questions
# Regarding modules affected, are there any additional modules which should be
taken into account?
# Regarding modules affected, should any of the modules listed be dropped from
that list ? (e.g. some may be out of date / replaced by other already)
# Do you know of any ongoing effort to migrate `org.osgi.service.http`
specification to Jakarta ? How otherwise should modules currently using
`org.osgi.service.http` specification API classes and methods be refactored ? I
am aware of
{color:#000080}+[https://github.com/eclipse-equinox/equinox/issues/183]+{color}
but it is not clear to me from that discussion if any such effort will be
actually made.
# Do you know of any ongoing effort to upgrade `org.osgi.service.servlet` to
support Jakarta Servlet API 6.x ?
# If `javax.servlet` dependency is removed from `org.apache.felix.http.base`,
wouldn't the wrappers become obsolete ? I.e. shouldn't
`org.apache.felix.http.base.internal.jakartawrappers` and
`org.apache.felix.http.base.internal.javaxwrappers` be dropped then and Jakarta
Servlet API used directly ?
# Should Jakarta Servlet API 5.x be supported in parallel with Jakarta Servlet
API 6.x (as hinted at in
{color:#000080}+[https://www.mail-archive.com/[email protected]/msg18694.html]+{color}),
or only Jakarta Servlet API 6.x ?
# Should `org.apache.felix.http.servlet-api` module be kept once dependency on
Java Servlet API is removed from it?
# Should this be merged to `master` branch @
{color:#000080}+[https://github.com/apache/felix-dev]+{color} once ready, or
dedicated branch should be used (e.g. `jakarta-servlet-6-x`)
h1. Next steps
# Please provide answers to questions mentioned in previous section.
# If you see any of the prerequisites missing from Mikado graph, please
mention those.
# Please create a dedicated branch @
{color:#000080}+[https://github.com/apache/felix-dev]+{color} (e.g.
`jakarta-servlet-6-x`) unless this should be merged to `master` once ready.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)