用於統計使用特定Java EE JSF Web應用程序的活動用戶數量的最佳方法/模式是什麼?計算Java EE Web應用程序中用戶數量的最佳方法
我知道的兩種方法是HttpSessionListener和使用JMX網絡bean,如果有第三種更好的方式,我願意接受建議。我只是想弄清楚最優雅的解決方案。
幫助深表感謝
用於統計使用特定Java EE JSF Web應用程序的活動用戶數量的最佳方法/模式是什麼?計算Java EE Web應用程序中用戶數量的最佳方法
我知道的兩種方法是HttpSessionListener和使用JMX網絡bean,如果有第三種更好的方式,我願意接受建議。我只是想弄清楚最優雅的解決方案。
幫助深表感謝
如果你想在簡單的Java Web應用程序,而無需使用任何框架構建的同時跟蹤活躍用戶的數量,然後做到這一點的標準方法是實現HttpSessionListener
。下面的代碼僅僅是您可以實現它的方式的參考。
import java.util.concurrent.atomic.AtomicInteger;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class ActiveUserCounter implements HttpSessionListener {
private static AtomicInteger activeSessions = new AtomicInteger();
public void sessionCreated(HttpSessionEvent se) {
activeSessions.incrementAndGet();
}
public void sessionDestroyed(HttpSessionEvent se) {
if(activeSessions.get() > 0)
activeSessions.decrementAndGet();
}
public static int getActiveSessions() {
return activeSessions.get();
}
}
在web.xml中定義監聽器類。
如果您正在計算活動會話,這是一個好主意。但我們仍然不知道OP是否想要。 – gaborsch
這就是我用*開始回答的原因「如果您想同時跟蹤活動用戶的數量」*! – NINCOMPOOP
OK,np :)足夠公平... – gaborsch
「使用」在同一時間?經過一段時間?哪一個? – 2013-04-17 13:20:34
你有什麼?你在使用什麼框架/技術?請多關於技術堆棧。 – gaborsch
如果我找出在特定實例(現在)有多少用戶,我可以輕鬆保存數據並計算特定時段內的用戶數量。所以要回答你的問題,立即使用(活躍用戶)....抱歉不清楚。 – RegisteredUser