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之间存在一些差异。 看看这里:

http://www.openntf.org/projects/pmt.nsf/66d9103768cc2fed85256c59006b5433/00a38cdf382f4893862578b80082dd15!OpenDocument

或者查看XSP Starterkit 。

编辑:

要添加会话侦听器,请执行以下操作:

  1. 切换到java透视图
  2. 在“Code / Java”文件夹中,创建一个文件夹“META-INF”
  3. 在此META-INF文件夹中,创建一个文件夹“services”
  4. 在“services”文件夹中,创建名为“com.ibm.xsp.core.events.SessionListener”的文件
  5. 在此文件中,添加类的全名:package.SessionCounterListener

现在,应该激活会话侦听器。