Author: struberg
Date: Wed May 6 13:22:14 2015
New Revision: 1677983
URL: http://svn.apache.org/r1677983
Log:
OWB-1048 only postpone session destroyal if the request is really a servlet
request
We do NOT postpone the session destroyal if the destroySessionContext only got
triggered by a session eviction timeout
Modified:
openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java
Modified:
openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java?rev=1677983&r1=1677982&r2=1677983&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java
(original)
+++
openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java
Wed May 6 13:22:14 2015
@@ -373,7 +373,8 @@ public class WebContextsService extends
if (context.getPropagatedSessionContext() != null)
{
- context.destroy();
+ SessionContext sessionContext =
context.getPropagatedSessionContext();
+ sessionContext.destroy();
Object payload = null;
if (context.getServletRequest() != null)
@@ -497,7 +498,8 @@ public class WebContextsService extends
// we need to mark the conversation to get destroyed at the end of
the request
ServletRequestContext requestContext = getRequestContext(true);
- if (destroySessionImmediately || requestContext == null)
+ if (destroySessionImmediately || requestContext == null
+ || requestContext.getServletRequest() == null ||
requestContext.getServletRequest().getSession() == null)
{
context.destroy();
webBeansContext.getBeanManagerImpl().fireEvent(session != null
? session : new Object(), DestroyedLiteral.INSTANCE_SESSION_SCOPED);