You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Carsten Ziegeler (Jira)" <ji...@apache.org> on 2023/03/08 19:10:00 UTC

[jira] [Commented] (FELIX-6599) javax.servlet incompatibility between Felix HTTP Jetty Light 4.2.8 and Jetty 9.4.x

    [ https://issues.apache.org/jira/browse/FELIX-6599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17698050#comment-17698050 ] 

Carsten Ziegeler commented on FELIX-6599:
-----------------------------------------

I agree, there is indeed an inconsistency here. Without changing code, it would be correct that the Jetty bundle imports the API in version 4 instead of 3.1.

The other option is to remove the usage of MappingMatch from base completely and then only require 3.1.

As the first option is the simpler one, I would opt for that

> javax.servlet incompatibility between Felix HTTP Jetty Light 4.2.8 and Jetty 9.4.x
> ----------------------------------------------------------------------------------
>
>                 Key: FELIX-6599
>                 URL: https://issues.apache.org/jira/browse/FELIX-6599
>             Project: Felix
>          Issue Type: Bug
>          Components: HTTP Service
>    Affects Versions: http.jetty-4.2.8
>            Reporter: Antoine DESSAIGNE
>            Priority: Major
>
> Hello everyone,
> We detected what looks like an inconsistency in Felix HTTP Jetty Light 4.2.8 (where Jetty is an external jar and not inlined).
> In the {{MANIFEST.MF}} file we can see
> {noformat}
> Import-Package:
>  javax.servlet.descriptor;version="[3.1,4)"
>  javax.servlet.http;version="[3.1,4)"
>  javax.servlet;version="[3.1,4)"
>  ...
> Require-Capability: osgi.contract;filter:="(&(osgi.contract=JavaServlet)(version=4.0))",osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
> {noformat}
> So it asks for {{javax.servlet}} in version range [3.1,4) but ask for a 4.0 Java Servlet capability. Unfortunately {{org.apache.felix.http.base.internal.registry.PathResolverFactory}} uses {{javax.servlet.http.MappingMatch}} which is only available starting in 4.0.
> Felix HTTP Jetty Light uses Jetty 9.4.50.v20221201 which requires {{javax.servlet}} in version range [3.1,4).
> So it looks like in the 4.2.x branch, {{javax.servlet}} should be in 3.1.0 and {{javax.servlet.http.MappingMatch}} should not be used. Am I right or is there something I did wrong?
> Thank you for your help



--
This message was sent by Atlassian Jira
(v8.20.10#820010)