users@jersey.java.net

[Jersey] com.sun.jersey.api.container.ContainerException / OSGI server

From: cmoulliard <cmoulliard_at_xpectis.com>
Date: Tue, 12 Jan 2010 03:01:13 -0800 (PST)

Hi,

I have a Jersey project packaged as a WAR file that I try to deploy on Felix
OSGI server. Unfortunately, jersey generates the following error :

[FelixStartLevel] INFO com.sun.jersey.api.core.PackagesResourceConfig -
Scanning for root resource and provider classes in the packages:
  org.apache.camel.web
12-janv.-2010 11:18:36
com.sun.jersey.server.impl.application.DeferredResourceConfig getApplication
INFO: Application class : class
org.apache.camel.web.util.CamelResourceConfig
[FelixStartLevel] INFO
com.sun.jersey.server.impl.application.DeferredResourceConfig - Application
class : class org.apache.camel.web.util.CamelResourceConfig
[FelixStartLevel] WARN org.mortbay.jetty - failed Jersey Filter
com.sun.jersey.api.container.ContainerException:
        at
com.sun.jersey.server.impl.application.DeferredResourceConfig.getApplication(DeferredResourceConfig.java:75)
        at
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771)
        at
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:576)
        at
com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:403)
        at
com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:252)
        at
com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:551)
        at
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:202)
        at
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:307)
        at
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:641)
        at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:620)
        at
org.mortbay.jetty.servlet.ServletHandler.updateMappings(ServletHandler.java:1011)
        at
org.mortbay.jetty.servlet.ServletHandler.setFilterMappings(ServletHandler.java:1047)
        at
org.mortbay.jetty.servlet.ServletHandler.addFilter(ServletHandler.java:886)
        at
org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$3.call(JettyServerImpl.java:301)
        at
org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$3.call(JettyServerImpl.java:297)

I think that this problem is related to classloading mechanism which is more
restrictive on OSGI framework.

I have created a ticket and attach a small maven project to show you how to
generate this error.

https://jersey.dev.java.net/issues/show_bug.cgi?id=457
 
I hope that this unit test will help you to address this problem.

Regards,

Charles

-- 
View this message in context: http://n2.nabble.com/com-sun-jersey-api-container-ContainerException-OSGI-server-tp4290922p4290922.html
Sent from the Jersey mailing list archive at Nabble.com.