Notes |
|
(0004732)
|
olaf2010
|
08-27-10 03:51
|
|
I can confirm this as well for resin 4.0.10 and its a blocker for me.
It works in resin 2.1.17.
Initialized here is jersey through the old servlet way to make it work with older containers (such as resin 2.1.17)
<servlet>
<servlet-name>RestApplicationServlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>de.ecopatz.ws.jersey.RestApplication</param-value>
</init-param>
</servlet>
RestApplication extends javax.ws.rs.core.Application as proposed.
Exception is here:
com.sun.jersey.api.container.ContainerException: Reference to class com.sun.jersey.server.impl.jcdi.JCDIComponentExtension is null
A complete trace:
com.sun.jersey.api.container.ContainerException: Reference to class com.sun.jersey.server.impl.jcdi.JCDIComponentExtension
is null
at com.sun.jersey.server.impl.jcdi.JCDIComponentProviderFactory.init(JCDIComponentProviderFactory.java:99)
at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:720)
at com.sun.jersey.server.impl.application.WebApplicationImpl.access$600(WebApplicationImpl.java:153)
at com.sun.jersey.server.impl.application.WebApplicationImpl$11.f(WebApplicationImpl.java:652)
at com.sun.jersey.server.impl.application.WebApplicationImpl$11.f(WebApplicationImpl.java:649)
at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:177)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:649)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:644)
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:428)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:277)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:573)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:211)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:332)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:496)
at javax.servlet.GenericServlet.init(GenericServlet.java:70)
at com.caucho.server.dispatch.ServletConfigImpl.createServletImpl(ServletConfigImpl.java:1318)
at com.caucho.server.dispatch.ServletConfigImpl.createServlet(ServletConfigImpl.java:1168)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:98)
at de.ecopatz.tools.filter.WhitespaceFilter.doFilter(WhitespaceFilter.java:73)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
at de.ecopatz.tools.filter.LoadBalancingFilter.doFilter(LoadBalancingFilter.java:75)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
at de.ecopatz.tools.filter.MobileRedirectionFilter.doFilter(MobileRedirectionFilter.java:92)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
at de.ecopatz.tools.filter.IFilter.doFilter(IFilter.java:112)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
at de.ecopatz.tools.filter.LoginFilter.doFilter(LoginFilter.java:59)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:88)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:183)
at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:92)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:286)
at com.caucho.server.hmux.HmuxRequest.handleInvocation(HmuxRequest.java:475)
at com.caucho.server.hmux.HmuxRequest.handleRequestImpl(HmuxRequest.java:380)
at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:346)
at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:662)
at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:625)
at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:576)
at com.caucho.network.listen.TcpSocketLink$AcceptTask.doTask(TcpSocketLink.java:1159)
at com.caucho.network.listen.TcpSocketLink$ConnectionReadTask.runThread(TcpSocketLink.java:1092)
at com.caucho.network.listen.TcpSocketLink$AcceptTask.run(TcpSocketLink.java:1126)
at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:170)
at com.caucho.env.thread.ResinThread.run(ResinThread.java:126) |
|
|
(0004733)
|
olaf2010
|
08-27-10 03:56
|
|
|
|
(0004748)
|
olaf2010
|
09-13-10 09:09
|
|
just fyi, since jersey is now in version 1.4
- works with resin 2.1.17
- does not work with resin 4.0.10 |
|
|
(0004749)
|
reza
|
09-14-10 12:54
|
|
So far, I've been unable to reproduce this issue on trunk (it may have already been fixed). It would be greatly helpful to have a failing code sample.
I did, however, see that you might run into class-path issues if you have another JAX-RS implementation other than Jersey (Apache CXF in my case) placed in resin/lib while Jersey is loaded from WEB-INF/lib, especially if the JSR 311 jar is not placed in resin/lib. At some point if we ship Apache CXF in resin/lib, we will also likely ship the JSR 311 jar as well so this issue will not occur.
|
|