Хранение больших и / или конфиденциальных данных в cookie-файлах - плохая практика.Файлы cookie полностью открыты для публичного доступа и имеют огромные ограничения в отношении доступного пространства хранения.
Скорее, автоматически генерирует длинный уникальный и почти невозможный для перебора идентификатор (java.util.UUID
- этополезно в этом), сохраните это в печенье.Наконец, используйте этот идентификатор в качестве ключа в Map
или в базе данных SQL на стороне сервера, где вы храните данные.Таким образом, вы сможете связать нужные данные с идентификатором, найденным в файле cookie.
Обновление Согласно комментариям, ваша проблема оказывается в памяти сервераиспользование (я изначально понял, что время жизни сессии было слишком коротким).Первый абзац ответа остается в силе: вы действительно не хотите этого делать.Это дыра в безопасности, а пространство для файлов cookie очень ограничено.
Что касается фактической проблемы: просто выделите вашему серверу больше памяти, или сконфигурируйте его для хранения сеансов на диске, или просто вручную сохраните данные в БД по ключу в области действия сеанса.