Простое кеширование данных на основе сессии для Spring MVC 3 - PullRequest
1 голос
/ 13 сентября 2011

Для нашего приложения Spring MVC 3.1 мне нужен простой, предпочтительный кешированный сеанс. Я знаю, что в 3.1 введена абстракция кэширования, но, насколько я знаю, это кэширование всего приложения. Нам нужно что-то более простое для кэширования данных пользовательской сетки. Я даже не использую его напрямую, если он имеет простой интерфейс.

Кто-нибудь использовал что-то подобное? Есть ли хорошая библиотека? Или есть способ заставить кеш Spring абстракции кэшировать данные только для текущего сеанса? Или я обречен написать это сам?

1 Ответ

4 голосов
/ 13 сентября 2011

Сеансобобный боб

Если вы не возражаете против явного решения, создайте компонент с областью действия session и внедрите его в свой контроллер.

Если вы не забыли обернуть его прокси с областью действия (<aop:scoped-proxy/>), вы можете просто поместите ваши кэшированные данные в поля этого компонента. Spring автоматически создает один экземпляр этого компонента для каждого сеанса HTTP и сохраняет его там.

Кэшируемая абстракция

С другой стороны, я думаю, что абстракция кэширования Spring может работать на вас - SPeL предоставляет вам доступ к среде HTTP, поэтому вы, вероятно, создаете ключ кэша декларативно (в аннотации) на основе текущего идентификатора сеанса пользователя или какого-либо другого атрибута, например имени пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...