<font size=2 face="Droid Sans">Hello. <br>
<br>
I have a customer who's getting ContextNotActiveExceptions for the RequestScoped
Context. This happens inside the invocation of WeldInitialListener.requestDestroyed()
after the customer's application invalidated the session. &nbsp;DefaultLifecycleCallbackInvoker.invokeMethods
invokes a method in application code, which calls a method on a proxy,
which results in weld attempting to get the context from the BeanManager
and the ContextNotActiveException. <br>
<br>
My question is simple. Is this an integration issue or is this an application
issue? </font>
<table width=1581 style="border-collapse:collapse;">
<tr valign=top height=8>
<td width=1579 style="border-style:none none none none;border-color:#000000;border-width:0px 0px 0px 0px;padding:1px 1px;"><font size=2 face="Droid Sans"><br>
<br>
Here is the stack: <br>
<br>
org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active
contexts for scope type javax.enterprise.context.RequestScoped<br>
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:731)<br>
at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:89)<br>
at org.jboss.weld.bean.ContextualInstanceStrategy$CachingContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:164)<br>
at org.jboss.weld.bean.ContextualInstance.getIfExists(ContextualInstance.java:63)<br>
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:83)<br>
at org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:125)</font>
<br><font size=2 face="Droid Sans">&lt;CustomerClass&gt;$$_WeldClientProxy.getUserId(Unknown
Source)<br>
</font>
<br><font size=2 face="Droid Sans">&lt;Application Code&gt; </font>
<br><font size=2 face="Droid Sans"><br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)<br>
at java.lang.reflect.Method.invoke(Method.java:508)<br>
at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:97)<br>
at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.preDestroy(DefaultLifecycleCallbackInvoker.java:90)<br>
at org.jboss.weld.injection.producer.BasicInjectionTarget.preDestroy(BasicInjectionTarget.java:127)<br>
at org.jboss.weld.bean.ManagedBean.destroy(ManagedBean.java:191)<br>
at org.jboss.weld.util.bean.IsolatedForwardingBean.destroy(IsolatedForwardingBean.java:50)<br>
at org.jboss.weld.context.AbstractContext.destroyContextualInstance(AbstractContext.java:139)<br>
at org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:153)<br>
at org.jboss.weld.context.AbstractManagedContext.deactivate(AbstractManagedContext.java:58)<br>
at org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:72)<br>
at org.jboss.weld.servlet.HttpContextLifecycle.safelyDeactivate(HttpContextLifecycle.java:378)<br>
at org.jboss.weld.servlet.HttpContextLifecycle.requestDestroyed(HttpContextLifecycle.java:311)<br>
at org.jboss.weld.servlet.WeldInitialListener.requestDestroyed(WeldInitialListener.java:135)<br>
at com.ibm.ws.webcontainer.managedobject.ManagedObjectListenerWrapper.requestDestroyed(ManagedObjectListenerWrapper.java:98)<br>
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletRequestDestroyed(WebApp.java:2042)<br>
at com.ibm.wsspi.webcontainer.collaborator.CollaboratorHelper.postInvokeCollaborators(CollaboratorHelper.java:532)<br>
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1282)<br>
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:82)<br>
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:963)<br>
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)<br>
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:382)<br>
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)<br>
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:532)<br>
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:318)<br>
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)<br>
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)<br>
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)<br>
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)<br>
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)<br>
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)<br>
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)<br>
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)<br>
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)</font></table>
<br><font size=2 face="sans-serif"><br>
Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU<br>
</font>