Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004188 [Resin] minor always 08-25-10 05:52 09-15-10 12:14
Reporter Vsevolod Oparin View Status public  
Assigned To reza
Priority normal Resolution unable to reproduce  
Status closed   Product Version 4.0.9
Summary 0004188: Conflict between jersey and resin
Description Hello! I use jersey for my web application with rest.
When I try to use rest command, it throws exception

java.lang.RuntimeException: com.sun.jersey.api.container.ContainerException: Reference to class com.sun.jersey.server.impl.jcdi.JCDIComponentExtension is null

This exception throws cause InjectManager can't find out JCDIComponentExtension.
I try to write beans.xml in meat-inf of jersey like this

<beans xmlns="http://java.sun.com/xml/ns/javaee" [^]
      xmlns:jcdi= "urn:java:com.sun.jersey.server.impl.jcdi">
      <jcdi:JCDIComponentExtension/>
</beans>

but it doesn't work.

Additional Information
Attached Files

- Relationships

- 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

( Using latest jersey 1.3 )

maybe this is related to: http://bugs.caucho.com/view.php?id=4182 [^]
 
(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
edited on: 09-14-10 13:57

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.

 

- Issue History
Date Modified Username Field Change
08-25-10 05:52 Vsevolod Oparin New Issue
08-27-10 03:51 olaf2010 Note Added: 0004732
08-27-10 03:51 olaf2010 Issue Monitored: olaf2010
08-27-10 03:56 olaf2010 Note Added: 0004733
09-08-10 12:36 reza Assigned To  => reza
09-08-10 12:36 reza Status new => assigned
09-13-10 09:09 olaf2010 Note Added: 0004748
09-14-10 12:54 reza Note Added: 0004749
09-14-10 12:54 reza Status assigned => feedback
09-14-10 13:57 reza Note Edited: 0004749
09-15-10 12:14 reza Status feedback => closed
09-15-10 12:14 reza Resolution open => unable to reproduce


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
38 total queries executed.
30 unique queries executed.
Powered by Mantis Bugtracker