Robert Munteanu created GERONIMO-6560:
-----------------------------------------
Summary: JSON spec jar is not able to load provider in an OSGi
environment
Key: GERONIMO-6560
URL: https://issues.apache.org/jira/browse/GERONIMO-6560
Project: Geronimo
Issue Type: Bug
Security Level: public (Regular issues)
Reporter: Robert Munteanu
I am trying to use org.apache.geronimo.specs:geronimo-json_1.0_spec:1.0-alpha-1
together with Apache Johnzon in a minimal OSGi environment ( see
https://lists.apache.org/thread.html/52ecda6f7b859fa9cdd4d9fb64d6f7a3b54f29f971e5536e844d9150@%3Cdev.johnzon.apache.org%3E
for more details ).
Looking at the manifest of the JSON spec I can see it has no way of loading
classes from another jar, and it fails at runtime:
{noformat}javax.json.JsonException: org.apache.johnzon.core.JsonProviderImpl not
found
at
javax.json.spi.JsonProvider.doLoadProvider(JsonProvider.java:132)
at javax.json.spi.JsonProvider.provider(JsonProvider.java:64)
at javax.json.Json.createGenerator(Json.java:48)
at
ro.lmn.routeradmin.web.impl.AdminServlet.doGet(AdminServlet.java:33)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at
org.apache.felix.http.base.internal.handler.ServletHandler.handle(Servl
etHandler.java:85)
at
org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(I
nvocationChain.java:79)
at
org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispat
cher.java:124)
at
org.apache.felix.http.base.internal.DispatcherServlet.service(Dispatche
rServlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:5
83)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler
.java:224)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler
.java:1174)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:51
1)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.
java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.
java:1106)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.jav
a:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Contex
tHandlerCollection.java:213)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.j
ava:134)
at org.eclipse.jetty.server.Server.handle(Server.java:524)
at
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:
253)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstract
Connection.java:273)
at
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.
java:93)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executePro
duceConsume(ExecuteProduceConsume.java:303)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceCon
sume(ExecuteProduceConsume.java:148)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execut
eProduceConsume.java:136)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.
java:671)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.j
ava:589)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException:
org.apache.johnzon.core.JsonProviderImpl
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at
javax.json.spi.JsonProvider.doLoadProvider(JsonProvider.java:129)
... 32 more{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)