2011-02-14 1 views
0

私はウェブデザインを初めて利用しています。 誰かが開かれたすべてのセッションに関する情報を取得する方法を教えてもらえますか? 私は答えをSpring MVCの3.0ウェブアプリケーションでセッションをトラッキングする方法は?

感謝を使用して ています(私はゲームを書いていますし、私は、現時点では、オンラインであり、すべてのクライアントについて知っておく必要があります)。

もう一度申し訳

答えて

1

) 私はこのような私のセッションを扱っています:

request.getSession(true).setAttribute("client",client); 
     request.getSession(true).setAttribute(Constants.SESS_AUTH, Boolean.TRUE); 

私のリスナーが、それは私が望むように動作しますdoesntが、残念ながら

@Override 
public void sessionCreated(HttpSessionEvent arg0) { 
     totalActiveSessions++; 
     System.out.println("sessionCreated - add one client into list"); 
     setOnline(arg0); 
} 

@Override 
public void sessionDestroyed(HttpSessionEvent arg0) { 
     totalActiveSessions--; 
     System.out.println("sessionDestroyed - deduct one client from list"); 
     setOffline(arg0); 
} 

private void setOnline(HttpSessionEvent sessionEvent){ 

     HttpSession session = sessionEvent.getSession(); 

     ApplicationContext ctx = 
      WebApplicationContextUtils. 
        getWebApplicationContext(session.getServletContext()); 

     SessionService sessionService = (SessionService) ctx.getBean("sessionService"); 

     sessionService.setClientOnLine((Client)sessionEvent.getSession().getAttribute("client")); 
} 

private void setOffline(HttpSessionEvent sessionEvent){ 

     HttpSession session = sessionEvent.getSession(); 

     ApplicationContext ctx = 
      WebApplicationContextUtils. 
        getWebApplicationContext(session.getServletContext()); 

     SessionService sessionService = (SessionService) ctx.getBean("sessionService"); 

     sessionService.setClientOffLine((Client)sessionEvent.getSession().getAttribute("client")); 
} 

です... あなたが何かをお勧めします可能性があり

+0

問題を解決しました HttpSessionAttributeListenerを実装するだけです – Oleksii