清除Guice Servlet中的会话范围对象

时间:2011-08-02 00:14:42

标签: guice guice-servlet

目前我有一个名为MySessionData的会话范围对象。最初退出时我刚刚调用

getThreadLocalRequest().getSession().invalidate();

问题是现在我们有多个会话作用域对象,只有登出时才需要清除ony(MySessionData)。有没有人知道在Guice中清除单个Session范围对象的方法。如果这是使用传统会话对象,我只需在会话映射中将键值对设置为null。

1 个答案:

答案 0 :(得分:1)

我通常使用guice会话对象作为Holders。如果你像这样实现MySessionData,你只需要在它上面定义一个clear()方法来删除或清除所有的holded对象。

如果还不够,您仍然可以使会话无效。如果需要在Session上保留对此失效的引用,可以使用ThreadLocal变量并使用ServletFilter进行设置。