users@jersey.java.net

Re: [Jersey] Re: NPE thrown by ContainerRequest

From: Paul Sandoz <Paul.Sandoz_at_oracle.com>
Date: Tue, 5 Oct 2010 17:50:25 +0200

Hi,

There is a known issue with the current version of Weld (the CDI
implementation) that we attempted to work around with a hack but alas
causes an NPE in some cases. We need to wait for a new version of Weld
to be integrated to see if this issue is resolved.

Given the stack trace in your previous email i do not know if they are
related but the only way i can explain the former is if somehow an
exception on servlet initialization (like the NPE below) does not
result in deployment failure, so the servlet is in an indeterminate
state and is able to receive requests.

Can you re-verify if such NPE occurs at deployment that the servlet is
still active?

Paul.

On Sep 27, 2010, at 8:59 PM, NBW wrote:

> This may be a CDI integration related issue. Has anyone tried a
> Jersey app. which uses @ApplicationContext vs. a web.xml driven
> deployment configuration with recent GF3.1 builds? I'm seeing this
> exception when I try to hit one of my resource end points:
>
> [#|2010-09-27T15:00:58.406-0400|SEVERE|glassfish3.1|
> javax.enterprise.system.container.web.com.sun.enterprise.web|
> _ThreadID=135;_ThreadName=http-thread-pool-7070(1);|WebModule[/
> MyNode]StandardWrapper.Throwable
> java.lang.NullPointerException
> at
> com
> .sun
> .jersey
> .server
> .impl
> .cdi
> .CDIComponentProviderFactory.<init>(CDIComponentProviderFactory.java:
> 94)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .cdi
> .CDIComponentProviderFactoryInitializer
> .initialize(CDIComponentProviderFactoryInitializer.java:75)
> at
> com
> .sun
> .jersey
> .spi.container.servlet.WebComponent.configure(WebComponent.java:554)
> at com.sun.jersey.spi.container.servlet.ServletContainer
> $InternalWebComponent.configure(ServletContainer.java:280)
> at
> com
> .sun
> .jersey.spi.container.servlet.WebComponent.load(WebComponent.java:586)
> at
> com
> .sun
> .jersey.spi.container.servlet.WebComponent.init(WebComponent.java:213)
> at
> com
> .sun
> .jersey
> .spi.container.servlet.ServletContainer.init(ServletContainer.java:
> 342)
> at
> com
> .sun
> .jersey
> .spi.container.servlet.ServletContainer.init(ServletContainer.java:
> 516)
> at javax.servlet.GenericServlet.init(GenericServlet.java:244)
> at
> org
> .apache
> .catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1427)
> at
> org
> .apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
> 1072)
> at
> org
> .apache
> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 189)
> at
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 175)
> at
> org
> .apache
> .catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
> at
> org
> .apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 595)
> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
> at
> com
> .sun
> .enterprise
> .web
> .PESessionLockingStandardPipeline
> .invoke(PESessionLockingStandardPipeline.java:91)
> at
> org
> .apache
> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
> at
> org
> .apache
> .catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
> at
> org
> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 227)
> at
> com
> .sun
> .enterprise
> .v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
> at
> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:
> 824)
> at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:
> 721)
> at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:
> 1014)
> at
> com
> .sun
> .grizzly
> .http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:220)
> at
> com
> .sun
> .grizzly
> .DefaultProtocolChain
> .executeProtocolFilter(DefaultProtocolChain.java:135)
> at
> com
> .sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
> 102)
> at
> com
> .sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
> 88)
> at
> com
> .sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
> at
> com
> .sun
> .grizzly
> .ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
> at
> com
> .sun
> .grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
> at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
> at com.sun.grizzly.util.AbstractThreadPool
> $Worker.doWork(AbstractThreadPool.java:530)
> at com.sun.grizzly.util.AbstractThreadPool
> $Worker.run(AbstractThreadPool.java:511)
> at java.lang.Thread.run(Thread.java:619)
> |#]
>
> Thnx,
>
> -Noah
>