WICKET-4842 WicketRuntimeException when Tomcat cleans up a session later on


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/cdc0a871
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/cdc0a871
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/cdc0a871

Branch: refs/heads/master
Commit: cdc0a87113e5b8d324f6dfd8ec2eabf626442cea
Parents: 6b5bcf6
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Fri Nov 2 16:50:42 2012 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Fri Nov 2 16:51:14 2012 +0200

----------------------------------------------------------------------
 .../protocol/http/AbstractRequestLogger.java       |   20 +++++++++++---
 1 files changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/cdc0a871/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
index 82e1a21..51e2083 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/AbstractRequestLogger.java
@@ -108,9 +108,7 @@ public abstract class AbstractRequestLogger implements 
IRequestLogger
         */
        public AbstractRequestLogger()
        {
-               int requestsWindowSize = Application.get()
-                       .getRequestLoggerSettings()
-                       .getRequestsWindowSize();
+               int requestsWindowSize = getRequestsWindowSize();
                requestWindow = new RequestData[requestsWindowSize];
                liveSessions = new ConcurrentHashMap<String, SessionData>();
        }
@@ -226,7 +224,7 @@ public abstract class AbstractRequestLogger implements 
IRequestLogger
                        requestdata.setSessionInfo(sessionInfo);
 
                        long sizeInBytes = -1;
-                       if 
(Application.get().getRequestLoggerSettings().getRecordSessionSize())
+                       if (Application.exists() && 
Application.get().getRequestLoggerSettings().getRecordSessionSize())
                        {
                                try
                                {
@@ -437,7 +435,7 @@ public abstract class AbstractRequestLogger implements 
IRequestLogger
         */
        private void resizeBuffer()
        {
-               int newCapacity = 
Application.get().getRequestLoggerSettings().getRequestsWindowSize();
+               int newCapacity = getRequestsWindowSize();
 
                // do nothing if the capacity requirement hasn't changed
                if (newCapacity == requestWindow.length)
@@ -526,4 +524,16 @@ public abstract class AbstractRequestLogger implements 
IRequestLogger
 
                return buf.toString();
        }
+
+       private int getRequestsWindowSize()
+       {
+               int requestsWindowSize = 0;
+               if (Application.exists())
+               {
+                       requestsWindowSize = Application.get()
+                                       .getRequestLoggerSettings()
+                                       .getRequestsWindowSize();
+               }
+               return requestsWindowSize;
+       }
 }

Reply via email to