[ https://issues.apache.org/jira/browse/FELIX-6612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17730627#comment-17730627 ]
Carsten Ziegeler commented on FELIX-6612: ----------------------------------------- Before jakarta servlet, code written for Servlet API 2 worked perfectly with 3 or 4. Jakarta Servlet is a breaking change. Servlet engines supporting version 5 are fare more common than version 6. We should not force our users to move everything to Jakarta 6 just because we think it is a good idea to require Jakarta Servlet 6 for example for the webconsole. The console should work with Jakarta Servlet 5 to allow for the largest possible user base. In general, independent from the servlet api, it is a common good practice to not always require the latest version of all APIs. Otherwise you put a high burden on the users. I hope this clarifies my point. We also might consider keeping branches for some modules, again for example for the webconsole. The biggest work will be to get our servlet api implementation support jakarta version 6. That needs to happen first regardless. > 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 > Priority: Major > 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:#57d9a3}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/users@felix.apache.org/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 > 1. Regarding modules affected, are there any additional modules which should > be taken into account? > 2. 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) > 3. 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. > 4. Do you know of any ongoing effort to upgrade `org.osgi.service.servlet` to > support Jakarta Servlet API 6.x ? > 5. 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 ? > 6. 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/users@felix.apache.org/msg18694.html]+{color}), > or only Jakarta Servlet API 6.x ? > 7. Should `org.apache.felix.http.servlet-api` module be kept once dependency > on Java Servlet API is removed from it? > 8. 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 > 1. Please provide answers to questions mentioned in previous section. > 2. If you see any of the prerequisites missing from Mikado graph, please > mention those. > 3. 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)