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; + } }
