Mantis - Resin
Viewing Issue Advanced Details
5228 minor always 09-28-12 21:06 10-22-12 11:42
ferg  
ferg  
normal  
closed 4.0.29  
fixed  
none    
none 4.0.33  
0005228: CDI issue with Jersey
(rep by Ryan T)

com.caucho.server.cluster.Server.start resin.home = /.../resin-pro-4.0.29/
 com.caucho.server.cluster.Server.start resin.root = /.../resin-pro-4.0.29/
 com.caucho.server.cluster.Server.start resin.conf = /.../resin-pro-4.0.29/conf/resin.xml
 com.caucho.server.cluster.Server.start
 com.caucho.server.cluster.Server.start server = test.net:8880 (app-tier:app)
 com.caucho.server.cluster.Server.start stage = production
 com.caucho.server.webapp.WebApp.setConfigException java.lang.NullPointerException
            at com.sun.jersey.server.impl.cdi.CDIExtension.processAnnotatedMethod(CDIExtension.java:563)
            at com.sun.jersey.server.impl.cdi.CDIExtension.processAnnotatedType(CDIExtension.java:391)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.caucho.config.extension.ExtensionManager$ExtensionObserver.notify(ExtensionManager.java:704)
            at com.caucho.config.event.EventManager.fireLocalEvent(EventManager.java:300)
            at com.caucho.config.event.EventManager.fireExtensionEvent(EventManager.java:281)
            at com.caucho.config.extension.ExtensionManager.processAnnotatedType(ExtensionManager.java:547)
            at com.caucho.config.inject.InjectManager.createManagedBean(InjectManager.java:1214)
            at com.caucho.config.inject.InjectManager.createBeanFactory(InjectManager.java:915)
            at com.caucho.server.webapp.WebAppController.configureInstanceVariables(WebAppController.java:555)
            at com.caucho.server.webapp.WebAppController.configureInstanceVariables(WebAppController.java:62)
            at com.caucho.env.deploy.EnvironmentDeployController.configureInstance(EnvironmentDeployController.java:437)
            at com.caucho.env.deploy.EnvironmentDeployController.configureInstance(EnvironmentDeployController.java:58)
            at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:675)
            at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:77)
            at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:529)
            at com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
            at com.caucho.server.webapp.WebAppContainer.start(WebAppContainer.java:728)
            at com.caucho.server.host.Host.start(Host.java:676)
            at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:679)
            at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:77)
            at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:529)
            at com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:170)
            at com.caucho.server.host.HostContainer.start(HostContainer.java:542)
            at com.caucho.server.cluster.Server.start(Server.java:1234)
            at com.caucho.server.cluster.ServletSystem.start(ServletSystem.java:72)
            at com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:515)
            at com.caucho.env.service.ResinSystem.start(ResinSystem.java:483)
            at com.caucho.server.resin.Resin.start(Resin.java:1033)
            at com.caucho.server.resin.Resin.initMain(Resin.java:1169)
            at com.caucho.server.resin.Resin.main(Resin.java:1471)
It's a pretty standard spring web application with a jax-rs context, but this error comes up before anything else happens. No other context starts. I'll start to pare down the other dependencies to try to get a test case, but the line in the stack trace:

Set<DiscoveredParameter> discovered = discoveredParameterMap.get(annotation.annotationType());
indicates that either the CDIExtension has not been initialized, thus discoveredParameterMap is null, or the annotation on the setter (line 560) is null.

I'll keep you posted, but if anyone has any suggestions, they are most welcome.

Notes
(0006056)
Olaf Krische   
10-09-12 07:41   
What version of jersey that is?

There is also a workaround by providing your own IoCComponentProviderFactory to jersey.

But the answer here is weird:

- http://java.net/jira/browse/JERSEY-944 [^]

I always thought, jersey should work on any standard servlet container.
(0006063)
ferg   
10-22-12 11:42   
server/1p0-

Combination of an already resolved issue with CDI loading (fixed before 4.0.33) and a ServletContainerInitializer @HandlesTypes issue.