rmannibucau commented on a change in pull request #34:
URL: https://github.com/apache/openwebbeans/pull/34#discussion_r632495176



##########
File path: 
webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java
##########
@@ -593,9 +593,17 @@ protected boolean sessionIsExpiring(HttpSession session)
         int maxInactiveInterval = session.getMaxInactiveInterval();
         if (maxInactiveInterval > 0)
         {
-            long inactiveSince = 
TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - 
session.getLastAccessedTime());
-            if (inactiveSince >= maxInactiveInterval)
+            try 
             {
+                long inactiveSince = 
TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - 
session.getLastAccessedTime());
+                if (inactiveSince >= maxInactiveInterval)
+                {
+                    return true;
+                }
+            }
+            catch (IllegalStateException e) 
+            {
+                // Jetty will throw an ISE if you attempt to query the last 
accessed time of a session that is being invalidated
                 return true;

Review comment:
       > i wonder why we even call sessionIsExpiring in this case? we are 
inside the HttpSessionListener#sessionDestroyed event stack, there is no need 
to check this
   
   Blaming the commit you can see the details but idea is to be able to let 
request listener override expiry handling when invalidation happens in a 
request.
   Indeed we can track it better (without time related test) but this kind of 
handling is needed but it is transversal to this thread/issue and we shouldn't 
merge both topics IMHO.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to