2010-05-24 48 views
1

在我的應用程序中,我有一個外部監視器,可以在幾分鐘內監視應用程序並測量其正常運行時間/響應時間每次監視器連接時,都會創建一個新的服務器會話,因此,當我查看會話的數量,即使在沒有實際用戶的時候,也總是最少15。有選擇地阻止創建會話

我試圖通過將會話創建代碼放入過濾器來解決這個問題,但似乎沒有這樣做 - 我猜會話會在用戶打開第一頁時自動創建?

所有(){ 之前= { 如果(actionName == '登入'){ DEF會話=的request.session //如果不存在 } } 創建會話}

我可以配置如果需要,監視器將傳遞參數(即http://servername.com/?nosession,但不知道如何確保未創建會話)。

回答

1

現在,您無法做到阻止會話創建,請參閱:http://jira.codehaus.org/browse/GRAILS-1238

幸運的是,除非您每秒觸發大量請求,否則這不是一個大問題。我們在「當前活躍用戶」報告中避開虛假數據的一件事就是將會話記錄到數據庫。我們僅在用戶登錄時創建會話記錄。然後,在專門映射的URL上,我們將「觸摸」該會話記錄以更新上次訪問的時間。會話記錄跟蹤用戶代理,IP等,並且由於許多原因有用。做這樣的事情可以避開虛假的會話數量。