스칼라와 리프트 및 SessionVar 는것을 잃는 내용
문제
가 SessionVar 다음과 같이에서 상승:
object MyObject {
object myVar extends SessionVar[Box[MyObject]](Empty)
}
다음 설정 값을 한 번에 대한 myVar:
MyObject.myVar(Full(value))
내 문제는 약간의 시간 후(1-5 분)myVar 을 잃게됩니다 그 가치,그것은,그것이 가치가 있습니다.이로 인해 비활동이므로 클릭하여 페이지가 끊임없이.내 코드는 설정 값이 비어 있습니다.이 1-5 분의 myVar 이 올바르게 작동합니다.로그는 포함하지 않는 관련된 메시지입니다.
도 추가 종료하는 방법 myVar 지만,그것은 점점 호출됩니다.
override protected def onShutdown(session: CleanUpParam): Unit = {
Log.error("shutdown executed")
}
나는 달리에 부두를 통해 mvn jetty:run
명령입니다.내가 사용하 1.1-의 스냅샷을 자랑합니다.내가 만드는 명시적으로 어떤 종류의 쿠키 또는 세션이 있습니다.
어떤 아이디어는 일이 무엇입니까?그것은 될 수 있는 세션이 만료되거나 무효화되게,하지만 왜 그리고 누구에 의하여?
보다 더 나은 사용하지 않 liftGC 과(LiftRules.enableLiftGC = false
다)하지만 영향을 미치지 않는.
해결책
내가 상상하는 문제입하는 동안 클릭하면 주위에,당신은 실수로 만드는 새 세션을 시작합니다.는 이유를 설명을 얻을 수는 없을 겁니다 세션 종료 이벤트:이전 세션 여전히 존재하지만,당신이 더 이상 사용하지 않습니다.내가 당신을 인쇄하는 세션 ID 각 요청마다면 그것을 변경합니다.
수도 있습을 잃기 때문에 세션 세션에 쿠키를 만나지 않기 때문에 URL 을 인코딩부 링크(참조하십시오 HttpServletResponse.encodeURL),또는 당신은 탐색하는 응용 프로그램 외부에서의 컨텍스트의 경로입니다.
다른 팁
Liftrules에서 세션 만료 시간은 얼마입니까?