2010-05-24 47 views
1

在我的应用程序中,我有一个外部监视器,可以在几分钟内监视应用程序并测量其正常运行时间/响应时间每次监视器连接时,都会创建一个新的服务器会话,因此,当我查看会话的数量,即使在没有实际用户的时候,也总是最少15。有选择地阻止创建会话

我试图通过将会话创建代码放入过滤器来解决这个问题,但似乎没有这样做 - 我猜会话会在用户打开第一页时自动创建?

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

我可以配置如果需要,监视器将传递参数(即http://servername.com/?nosession,但不知道如何确保未创建会话)。

回答

1

现在,您无法做到阻止会话创建,请参阅:http://jira.codehaus.org/browse/GRAILS-1238

幸运的是,除非您每秒触发大量请求,否则这不是一个大问题。我们在“当前活跃用户”报告中避开虚假数据的一件事就是将会话记录到数据库。我们仅在用户登录时创建会话记录。然后,在专门映射的URL上,我们将“触摸”该会话记录以更新上次访问的时间。会话记录跟踪用户代理,IP等,并且由于许多原因有用。做这样的事情可以避开虚假的会话数量。