Xpages – 获取活动会话数(Lotus Domino 8.5.2)
如何获取Xpage中的活动会话数。 我正在尝试使用托管bean,但它只返回一个奇怪的字符串。 这是简单的代码:
import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; 公共类SessionCounterListener实现HttpSessionListener { private static int totalActiveSessions; public static int getTotalActiveSessions(){ return totalActiveSessions; } public void sessionCreated(HttpSessionEvent arg0){ totalActiveSessions ++; System.out.println(“sessionCreated - 将一个会话添加到计数器中”); } public void sessionDestroyed(HttpSessionEvent arg0){ totalActiveSessions--; System.out.println(“sessionDestroyed - 从计数器中扣除一个会话”); } }
我从这里得到了这个。 但是当我调用SessionCounterListener.getTotalActiveSessions()
,它只返回0(无论是否有人登录)。
如果你有时间,可以在这里查看我的测试数据库。
请帮帮我。 非常感谢!
必须在应用程序中注入会话侦听器才能按需运行。 否则,将永远不会调用sessionCreated / sessionDestroyed方法,并且始终返回0。 但是XPages和“传统”JSF之间存在一些差异。 看看这里:
或者查看XSP Starterkit 。
编辑:
要添加会话侦听器,请执行以下操作:
- 切换到java透视图
- 在“Code / Java”文件夹中,创建一个文件夹“META-INF”
- 在此META-INF文件夹中,创建一个文件夹“services”
- 在“services”文件夹中,创建名为“com.ibm.xsp.core.events.SessionListener”的文件
- 在此文件中,添加类的全名:package.SessionCounterListener
现在,应该激活会话侦听器。