我需要获取 Activity Wicket 口 session 的列表。现在我将所有新 session 保存在覆盖方法 newSession() 中,并且当 session 无效时该 session 被删除。但是这种方法有很多问题。我如何理解这种方法是非常粗鲁的 hack,如果您知道另一种方法,我将不胜感激。 (我使用 wicket v1.5.4 和 tomcat v7.0.25 )
更新
感谢您的回答,但我需要获取 WICKET session (WebSession)的列表。我添加了带有 WebSessions 和 HttpSessions(带同步)静态映射的 HttpSessionListener。这种方法比我的方法好,没有老问题,但它看起来也很 hack :(。你有什么关于获取 wicket session 列表的想法吗?
最佳答案
用一个简单的 Listener 来代替是否可以接受,像这样?
public class SessionCounterListener implements HttpSessionListener {
private static int totalActiveSessions;
public static int getTotalActiveSession(){
return totalActiveSessions;
}
@Override
public void sessionCreated(HttpSessionEvent event) {
totalActiveSessions++;
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
totalActiveSessions--;
}
}
<web-app ...>
<listener>
<listener-class>SessionCounterListener</listener-class>
</listener>
</web-app>
还有一个例子来自“Wicket in action”一书 here
关于java - wicket 中的 Activity session 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9191292/