我在Grails 1.1.2上运行了一个Internet应用程序,它集成了Spring WebFlow机制。问题是有些机器人忽略了robots.txt并且经常进入流程。
由于流程的第二步需要一些人工智能,因此机器人在第一步之后会留下开放的流量。这会导致许多开放流程,这些流程会导致很多废弃的开放式休眠会话。
你知道Grails + Spring WebFlow中这种无人值守流(加上hibernate会话)的常用清理机制吗?
谢谢, 帕维尔
答案 0 :(得分:0)
我的第一个建议是需要一个captia来访问流程。如果这不是一个选项,您可以在Web流程的第一步中设置一个短的会话时间,然后在第三步中将其重置为更长的时间。一个例子是 第一步
session.setMaxInactiveInterval(60);
第三步
session.setMaxInactiveInterval(600);
这将导致第一步或第二步中的任何会话在60秒不活动后死亡。当会话终止时,将清除与会话关联的任何休眠会话。假设用户在不到60秒的时间内完成第一步和第二步,他们将有10分钟完成每一步。