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

Rakesh Kumar commented on FELIX-6487:
-------------------------------------

Found couple of issues.

The Require-Capability header was not correctly generated, I am using JDK 11 to 
compile the code. It is correctly generated for bridge-4.x though.

MANIFEST.MF file

 
{code:java}
Manifest-Version: 1.0
Bnd-LastModified: 1647419631609
Build-Jdk: 11.0.13
Built-By: rakesh.kumar
Bundle-Activator: org.apache.felix.http.bridge.internal.BridgeActivator
Bundle-Description: This is an implementation of the OSGi Http Service a
 nd the OSGi Http Whiteboard Specification used when run as a web applic
 ation
Bundle-DocURL: https://www.apache.org/
Bundle-License: https://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-ManifestVersion: 2
Bundle-Name: Apache Felix Http Bridge Light
Bundle-SymbolicName: org.apache.felix.http.bridge.light
Bundle-Vendor: The Apache Software Foundation
Bundle-Version: 5.0.0.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Export-Package: org.osgi.service.http;version="1.2.1";uses:="javax.servl
 et,javax.servlet.http",org.osgi.service.http.context;version="1.1.0";us
 es:="javax.servlet.http,org.osgi.framework",org.osgi.service.http.runti
 me;version="1.1.0";uses:="org.osgi.service.http.runtime.dto",org.osgi.s
 ervice.http.runtime.dto;version="1.1.0";uses:="org.osgi.dto,org.osgi.fr
 amework.dto",org.osgi.service.http.whiteboard;version="1.1.0";uses:="ja
 vax.servlet"
Import-Package: org.osgi.service.useradmin;resolution:=optional;version=
 "[1.1,2)",org.osgi.service.log;resolution:=optional;version="[1.3,2)",j
 akarta.servlet;version="[5.0,6)",jakarta.servlet.descriptor;version="[5
 .0,6)",jakarta.servlet.http;version="[5.0,6)",javax.servlet,javax.servl
 et.descriptor,javax.servlet.http,org.apache.commons.fileupload;version=
 "[1.4,2)",org.apache.commons.fileupload.disk;version="[1.4,2)",org.osgi
 .dto;version="[1.1,2)",org.osgi.framework;version="[1.10,2)",org.osgi.f
 ramework.dto;version="[1.8,2)",org.osgi.framework.wiring;version="[1.2,
 2)",org.osgi.service.http;version="[1.2,2)",org.osgi.service.http.conte
 xt;version="[1.1,2)",org.osgi.service.http.runtime;version="[1.1,1.2)",
 org.osgi.service.http.runtime.dto;version="[1.1,2)",org.osgi.service.ht
 tp.whiteboard;version="[1.1,2)",org.osgi.util.tracker;version="[1.5,2)"
Include-Resource: META-INF/LICENSE=target/maven-shared-archive-resources
 /META-INF/LICENSE,META-INF/DEPENDENCIES=target/maven-shared-archive-res
 ources/META-INF/DEPENDENCIES,META-INF/NOTICE=target/maven-shared-archiv
 e-resources/META-INF/NOTICE
Provide-Capability: osgi.implementation;osgi.implementation="osgi.http";
 version:Version="1.1";uses:="javax.servlet,javax.servlet.http,org.osgi.
 service.http.context,org.osgi.service.http.whiteboard",osgi.service;obj
 ectClass:List<String>="org.osgi.service.http.runtime.HttpServiceRuntime
 ";uses:="org.osgi.service.http.runtime,org.osgi.service.http.runtime.dt
 o"
Require-Capability: osgi.ee;filter:="(osgi.ee=UNKNOWN)"
Tool: Bnd-3.5.0.201709291849
 {code}

Error when the bundle is being deployed.
{code:java}
ERROR: Bundle org.apache.felix.http.bridge.light [25] Error starting 
jar:file:/Users/rakesh.kumar/code/adeptj/adeptj-runtime-launcher/target/adeptj-runtime-launcher.jar!/bundles/org.apache.felix.http.bridge-5.0.0-SNAPSHOT-light.jar
 (org.osgi.framework.BundleException: Unable to resolve 
org.apache.felix.http.bridge.light [25](R 25.0): missing requirement 
[org.apache.felix.http.bridge.light [25](R 25.0)] osgi.ee; (osgi.ee=UNKNOWN) 
Unresolved requirements: [[org.apache.felix.http.bridge.light [25](R 25.0)] 
osgi.ee; (osgi.ee=UNKNOWN)])
org.osgi.framework.BundleException: Unable to resolve 
org.apache.felix.http.bridge.light [25](R 25.0): missing requirement 
[org.apache.felix.http.bridge.light [25](R 25.0)] osgi.ee; (osgi.ee=UNKNOWN) 
Unresolved requirements: [[org.apache.felix.http.bridge.light [25](R 25.0)] 
osgi.ee; (osgi.ee=UNKNOWN)]
        at 
org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4398)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1566)
        at 
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
        at java.base/java.lang.Thread.run(Thread.java:833){code}
 

To get pass this I added  Require-Capability header in pom
{code:java}
<Require-Capability>osgi.ee;filter:="(&amp;(osgi.ee=JavaSE)(version=1.8))"</Require-Capability>
 {code}
 

After this the bundle deploys correctly but fails at runtime with the exception 
below.

 
{code:java}
2022-03-16 13:54:55.321 [FelixLogListener] ERROR 
com.adeptj.modules.commons.logging.osgi.Logger - Exception while processing 
request to /system/console/bundles
java.lang.NullPointerException: Cannot invoke 
"String.toLowerCase(java.util.Locale)" because "pattern" is null
        at javax.servlet.http.Cookie.setDomain(Cookie.java:224)
        at 
org.apache.felix.http.base.internal.javaxwrappers.CookieWrapper.<init>(CookieWrapper.java:56)
        at 
org.apache.felix.http.base.internal.javaxwrappers.CookieWrapper.wrap(CookieWrapper.java:41)
        at 
org.apache.felix.http.base.internal.javaxwrappers.HttpServletRequestWrapper.getCookies(HttpServletRequestWrapper.java:59)
        at 
org.apache.felix.webconsole.internal.servlet.OsgiManager.getConfiguredLocale(OsgiManager.java:715)
        at 
org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:584)
        at 
org.apache.felix.webconsole.internal.servlet.OsgiManager$3.run(OsgiManager.java:515)
        at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
        at 
org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:510)
        at 
org.apache.felix.http.base.internal.jakartawrappers.ServletWrapper.service(ServletWrapper.java:74)
        at 
org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:127)
        at 
org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86)
        at 
org.apache.felix.http.base.internal.dispatch.Dispatcher$1.doFilter(Dispatcher.java:153)
        at 
org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$3.doFilter(WhiteboardManager.java:1041)
        at 
org.apache.felix.http.base.internal.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45)
        at 
org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:97)
        at 
org.apache.felix.http.base.internal.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58)
        at 
org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:136)
        at 
org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$3.doFilter(WhiteboardManager.java:1047)
        at 
org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.invokePreprocessors(WhiteboardManager.java:1051)
        at 
org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:95)
        at 
org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49)
        at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)
        at 
org.apache.felix.http.bridge.internal.BridgeActivator$1.service(BridgeActivator.java:86)
        at 
com.adeptj.runtime.osgi.DispatcherServletWrapper.service(DispatcherServletWrapper.java:64)
        at 
com.adeptj.runtime.servlet.BridgeServlet.service(BridgeServlet.java:90)
        at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587) {code}

> Update to Jetty 11
> ------------------
>
>                 Key: FELIX-6487
>                 URL: https://issues.apache.org/jira/browse/FELIX-6487
>             Project: Felix
>          Issue Type: Improvement
>          Components: HTTP Service
>            Reporter: Carsten Ziegeler
>            Assignee: Carsten Ziegeler
>            Priority: Major
>             Fix For: http.bridge-5.0.0, http.jetty-5.0.0, http.base-5.0.0
>
>
> The major product lines of Jetty are 10 (javax servlet) and 11 (jakarta 
> servlet). We should update to version 10 or 11



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to