[
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:="(&(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)