如何获取Xpage中的活动会话数。我正在尝试使用托管bean,但它只返回一个奇怪的字符串。这是简单的代码:
import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class SessionCounterListener implements HttpSessionListener { private static int totalActiveSessions; public static int getTotalActiveSessions(){ return totalActiveSessions; } public void sessionCreated(HttpSessionEvent arg0) { totalActiveSessions++; System.out.println("sessionCreated - add one session into counter"); } public void sessionDestroyed(HttpSessionEvent arg0) { totalActiveSessions--; System.out.println("sessionDestroyed - deduct one session from counter"); } }
我是从here得到的。但是当我调用SessionCounterListener.getTotalActiveSessions()
时,它只返回0(无论是否有人登录)。
如果您有时间,可以查看我的测试数据库here。
请帮帮我。非常感谢!
答案 0 :(得分:6)
必须在应用程序中注入会话侦听器才能按需运行。否则,将永远不会调用sessionCreated / sessionDestroyed方法,并且始终返回0。但是XPages和“传统”JSF之间存在一些差异。看看这里:
或者查看XSP Starterkit。
修改强>
要添加会话侦听器,请执行以下操作:
现在,应该激活会话侦听器。