Работает ли область действия Grails для нескольких экземпляров сервера?
Мы добавили весеннюю сессию в наше приложение Grails 3 и перестали отображаться флеш-сообщения / ошибки. Глядя на источник, он выглядит так, как будто это просто карта в памяти, хотя я не уверен, что она будет сериализована при сохранении сеансов:
Мне интересно, работает ли flash flash только при запуске одного экземпляра, который управляет сессиями, или, например, если в кластере tomcat с несколькими экземплярами и без привязки к сеансу flash flash все еще будет работать?
2 ответа
Spring-session в настоящее время не допускает изменения объектов сеанса по соображениям производительности. Однако вы можете сохранить его самостоятельно, используя простой фильтр - или использовать плагин grails для весенней сессии.
Я лично использую зависимость Spring-сессии и беру фильтр HttpSessionSynchronizer из плагина - использовал его, так как это единственная часть, необходимая для работы флэш-памяти с Spring-сессии.
Область действия Flash зависит от конкретного экземпляра и не работает с несколькими экземплярами сервера без использования соответствия сеанса.