blob: 7998f5f6d55d44b0a5c63e7c19a74065b0e3f222 [file] [log] [blame]
From dev-return-1206-apmail-johnzon-dev-archive=johnzon.apache.org@johnzon.apache.org Wed Nov 23 22:37:31 2016
Return-Path: <dev-return-1206-apmail-johnzon-dev-archive=johnzon.apache.org@johnzon.apache.org>
X-Original-To: apmail-johnzon-dev-archive@www.apache.org
Delivered-To: apmail-johnzon-dev-archive@www.apache.org
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
by minotaur.apache.org (Postfix) with SMTP id 21A7E1918F
for <apmail-johnzon-dev-archive@www.apache.org>; Wed, 23 Nov 2016 22:37:31 +0000 (UTC)
Received: (qmail 49708 invoked by uid 500); 23 Nov 2016 22:37:31 -0000
Delivered-To: apmail-johnzon-dev-archive@johnzon.apache.org
Received: (qmail 49674 invoked by uid 500); 23 Nov 2016 22:37:31 -0000
Mailing-List: contact dev-help@johnzon.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:dev-help@johnzon.apache.org>
List-Unsubscribe: <mailto:dev-unsubscribe@johnzon.apache.org>
List-Post: <mailto:dev@johnzon.apache.org>
List-Id: <dev.johnzon.apache.org>
Reply-To: dev@johnzon.apache.org
Delivered-To: mailing list dev@johnzon.apache.org
Received: (qmail 49663 invoked by uid 99); 23 Nov 2016 22:37:31 -0000
Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15)
by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Nov 2016 22:37:31 +0000
Received: from [192.168.1.55] (unknown [109.103.80.27])
by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 50AE11A0112
for <dev@johnzon.apache.org>; Wed, 23 Nov 2016 22:37:29 +0000 (UTC)
Message-ID: <1479940647.31291.1.camel@apache.org>
Subject: Using johnzon-core in an OSGi container
From: Robert Munteanu <rombert@apache.org>
To: dev@johnzon.apache.org
Date: Thu, 24 Nov 2016 00:37:27 +0200
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.22.2
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
Hi,
I noticed that Johnzon has OSGi headers, which is nice :-)
I am trying to setup Johnzon in a minimal OSGi container. I have a
bundle which performs a very simple JSON rendering:
        try ( JsonGenerator g =
Json.createGenerator(resp.getOutputStream())) {
            resp.setContentType("application/json");
            g.writeStartObject()
             .write("enabled", routerAdmin.isWlanEnabled() )
             .writeEnd();
        } catch (AuthException e) {
            resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR
);
        }
I am deploying the following bundles to my container:
- Johnzon :: Core (0.9.4) - org.apache.johnzon:johnzon-core:0.9.4
- Apache Geronimo JSon Spec 1.0 (1.0.0.alpha-1) -
org.apache.geronimo.specs:geronimo-json_1.0_spec:1.0-alpha-1
The code fails with
javax.json.JsonException: org.apache.johnzon.core.JsonProviderImpl
not found
(full stack trace at the end ).
My question is - is this a supported scenario? Looking at the bundle
headers I don't see how the wiring could happen between these the JSON
API and Johnzon Core bundles, as they know nothing about each other.
(Please keep me in CC, I am not subscribed).
Thanks,
Robert
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