【问题标题】:Spring Webflow in Grails keeping plenty of hibernate sessions openGrails 中的 Spring Webflow 保持大量休眠会话打开
【发布时间】:2011-02-12 10:31:45
【问题描述】:
我有一个在 Grails 1.1.2 上运行的 Internet 应用程序,它集成了 Spring WebFlow 机制。问题是有些机器人忽略了 robots.txt 并且经常进入流程。
因为流程的第二步需要一些人工智慧,所以机器人会在第一步之后离开开放流程。这会导致大量打开的流,从而导致大量被放弃的打开休眠会话。
您知道 Grails+Spring WebFlow 中这种无人值守流(加上休眠会话)的一些常见清理机制吗?
谢谢,
帕维尔
【问题讨论】:
标签:
grails
spring-webflow
hibernate-session
【解决方案1】:
我的第一个建议是需要 captia 才能访问流程。如果这不是一个选项,您可以在网络流程的第一步中设置较短的会话时间,然后在第三步中将其重置为更长的时间。一个例子是
第一步
session.setMaxInactiveInterval(60);
第三步
session.setMaxInactiveInterval(600);
这将导致步骤一或二中的任何会话在 60 秒不活动后终止。当会话终止时,与该会话关联的任何休眠会话都将被清除。假设用户在不到 60 秒的时间内完成了步骤一和二,他们将有 10 分钟的时间来完成每个额外的步骤。