내 응용 프로그램에서 사용자가보고있는 현재 페이지를 기반으로 일부 잠금/잠금 해제 기능을 만들었습니다. 사용자는 페이지를 볼 수 있으며 내 데이터베이스에 저장된 잠금을 가져오고, 잠금을 해제하고 데이터베이스가 업데이트 될 때 내비게이션을 수행합니다.JSF - 사용자가 브라우저 창을 종료했을 때 감지
사용자가 로그 아웃하지 않고 브라우저 창을 닫을 때 상황을 처리하려고합니다. 그들은 여전히 자물쇠를 잡고있을 것이고 내가 풀어 줘야하고 데이터베이스 호출이 필요하다.
Spring 또는 다른 것을 사용하는 JSF 애플리케이션에서이 문제를 처리 할 수있는 방법이 있습니까?
나는 javascript 함수 onbeforeunload를 알고 있지만 데이터베이스를 업데이트 할 수있는 Java 메서드를 호출해야합니다.
사용자가 브라우저 창을 종료 한 경우 현재 사용자의 세션에 있기 때문에 손실 된 아약스 폴러 상태가 아닙니다. 이것은 올바른 가정이 아니라면 모든 것이 어떻게 작동하는지에 대한 지식이 부족할 수도 있습니다. @BalusC – medium
폴러는 세션을 활성 상태로 유지합니다. 세션 수명이 짧으면 마지막 폴링 후 1 분이 지나면 만료됩니다. 사용자가 페이지를 닫으면 폴러가 중지되고 세션이 만료됩니다. 사실, 최대 1 분의 간격 기간이 있지만 얻을 수없는 것보다 좋습니다. – BalusC
@PreDestroy는 어때요?이 상황에서 유용할까요? –