Здравствуйте! Я буквально недавно начал делать учебный проект, где используется JSF + Spring. Возникла проблема.
В JSF есть отличная область действия для бина, которая называется ViewScoped. Бин сохраняется пока отображается страница. Очень подходит, если на страничке много ajax-запросов. И не надо с сессиями возиться и нет постоянного переинстанциирования бина после каждого HTTP-запроса (как при RequestScoped)
При интеграции со спрингом нужно использовать области видимости для бинов такие, какие есть в спринге (singleton, request, session, prototype и т.д.) и проблема в том, что аналога ViewScoped в Spring нет. А при использовании scope = request при каждом ajax запросе бин инициализируется заново, происходит считывание из базы и т.д.
Как лучше решить эту проблему?
Я видел кастомную реализацию viewscope как раз для моего случая
https://github.com/michail-nikolaev/primefaces-spr...
Но она как-то не всегда корректно отрабатывает (по крайней мере у меня).