我在 Lift 中有这样的 SessionVar:
object MyObject {
object myVar extends SessionVar[Box[MyObject]](Empty)
}
然后我为 myVar 设置一次值:
MyObject.myVar(Full(value))
我的问题是,经过一段时间(1-5 分钟) myVar 会失去它的价值,也就是说,它会再次具有价值 Empty。这不是由于不活动,因为我不断地点击页面。我的代码没有将值设置为空。在这 1-5 分钟内,myVar 将正常工作。日志不包含相关消息。
我试图将关闭方法添加到 myVar,但它没有被调用。
override protected def onShutdown(session: CleanUpParam): Unit = {
Log.error("shutdown executed")
}
我正在通过mvn jetty:run
命令在码头运行 Lift。我正在使用 Lift 的 1.1-SNAPSHOT。我没有明确创建任何类型的 cookie 或会话。
任何想法发生了什么?可能是会话以某种方式过期或失效,但为什么以及由谁?
我什至尝试使用 ( LiftRules.enableLiftGC = false
) 禁用 liftGC ,但这并不影响。