Вызов @PreDestroy в Omnifaces @ViewScoped bean, когда страница выгружается на iOS - PullRequest
2 голосов
/ 21 ноября 2019

Я занимаюсь разработкой веб-приложения с использованием JSF 2.3.9 (Mojarra) и OmniFaces 3.4 в контейнере Tomcat 9. На странице я отображаю информацию из боба org.omnifaces.cdi.ViewScoped. Этот компонент распределяет ресурсы в @PostConstruct и должен освободить их, как только пользователь перейдет на другую страницу, вызвав метод @PreDestroy.

Это отлично работает в браузерах, таких как Safari в OsX, Firefox,Хром. Но когда веб-приложение запускается из Safari на iOS, метод @PreDestroy не вызывается, например, когда страница оставлена. Мне кажется, что это происходит потому, что обработчик события unload () не поддерживается в Safari на iOS и, как я вижу, сценарий unload.js из Omnifaces связывается с этим событием.

Забыл упомянуть - это последняя версия iOS 13.2.3 ...

Кто-нибудь знает, как это исправить?

...