Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2011-02-24 05:08:28 +0000
committerGreg Wilkins2011-02-24 05:08:28 +0000
commit42d8d84239897597e4bdd88acf380b51a5e19e9f (patch)
treeb5abf3b2e49df17e6e0e90ba6072eb772cbba557
parentc952afa8fc2c12788f6e1bdf0ba44df3119b2f70 (diff)
downloadorg.eclipse.jetty.project-42d8d84239897597e4bdd88acf380b51a5e19e9f.tar.gz
org.eclipse.jetty.project-42d8d84239897597e4bdd88acf380b51a5e19e9f.tar.xz
org.eclipse.jetty.project-42d8d84239897597e4bdd88acf380b51a5e19e9f.zip
337270 Shared Timer for session management
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@2828 7e9141cc-0065-0410-87d8-b60c137991c4
-rw-r--r--jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionManager.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionManager.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionManager.java
index 54731e6244..ce7b305b10 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionManager.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionManager.java
@@ -34,9 +34,11 @@ import java.util.TimerTask;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
+import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.util.IO;
import org.eclipse.jetty.util.LazyList;
import org.eclipse.jetty.util.log.Log;
@@ -49,7 +51,7 @@ import org.eclipse.jetty.util.log.Log;
* Sessions can also have their content idle saved to disk to reduce the memory overheads of large idle sessions.
* <p>
* This manager will create it's own Timer instance to scavenge threads, unless it discovers a shared Timer instance
- * set as the "org.eclipse.jetty.server.session.timer" attribute of the Server.
+ * set as the "org.eclipse.jetty.server.session.timer" attribute of the ContextHandler.
*
*/
public class HashSessionManager extends AbstractSessionManager
@@ -84,7 +86,9 @@ public class HashSessionManager extends AbstractSessionManager
super.doStart();
_timerStop=false;
- _timer=(Timer)getSessionHandler().getServer().getAttribute("org.eclipse.jetty.server.session.timer");
+ ServletContext context = ContextHandler.getCurrentContext();
+ if (context!=null)
+ _timer=(Timer)context.getAttribute("org.eclipse.jetty.server.session.timer");
if (_timer==null)
{
_timerStop=true;

Back to the top