diff options
author | Greg Wilkins | 2011-02-24 05:08:28 +0000 |
---|---|---|
committer | Greg Wilkins | 2011-02-24 05:08:28 +0000 |
commit | 42d8d84239897597e4bdd88acf380b51a5e19e9f (patch) | |
tree | b5abf3b2e49df17e6e0e90ba6072eb772cbba557 | |
parent | c952afa8fc2c12788f6e1bdf0ba44df3119b2f70 (diff) | |
download | org.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.java | 8 |
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; |