Vaadin 응용 프로그램을 사용 중일 때 Vaadin은 결국 "세션 만료"오류를 표시하지만이 응용 프로그램을 호스팅하는 Glassfish에서는 세션 시간 초과가 8 시간 마지막 액세스와 '세션 만료'사이의 시간보다 길어집니다. 응용 프로그램을 디버깅 한 후 우리는이 것을 파헤 쳤습니다. 페이지를로드하는 동안 Vaadin은 request.getSession(true)
을 사용하여 세션을 요청하고 후속 ajax 요청에는 request.getSession(false)
을 사용합니다. 결국 request.getSession(false)
은 null
을 반환하므로 session expired
메시지가 나타납니다. 웹 컨테이너가 세션 타임 아웃 설정을 무시하는 것 같습니다.Vaadin 응용 프로그램에서 Glassfish 세션 시간 초과가 무시되었습니다.
1
A
답변
2
Glassfish의 기본 세션 시간 초과 값은 30 분입니다. 이것이 사용자의 경험과 일치하면 8 시간 (28800 초)의 시간 초과 설정이 어떻게 든 무시됩니다.
은 GlassFish-web.xml에 타임 아웃을 지정할 수 있습니다: 글래스 피쉬 - 웹 응용 프로그램> 세션 설정> 세션 속성> timeoutSeconds
또는 당신이 세션 시간 제한 요소를 가질 수 있습니다 웹에서 지정 .xml 파일. 이 값은 timeoutSeconds 값을 대체합니다.
답변 해 주셔서 감사합니다. web.xml에서 4hrs 세션 시간 초과를 지정했습니다. 이제 오류를 반복하려고합니다. –
지금 아무런 문제도 발견하지 못했습니다. 답장을 보내 주셔서 감사합니다 –