2015-09-21 3 views
1

В нашем экземпляре AEM мы получаем данные из внешней системы, для каждого пользователя эти данные одинаковы во время его сеанса. Поэтому имеет смысл хранить эти данные в их сеансе/кеше или что-то в этом роде. С другой CMS мы использовали, прежде чем мы всегда сохраняли такие данные в сеансе. Это также правильное решение здесь для AEM 6.1 или есть ли лучшие альтернативы?AEM 6.1 - Сохранение данных в сеансе

Вызов 1, который должен быть сохранен: Размер в байтах: 34597 вызовов 2, которая должна быть сохранена: Размер в байтах: 2201

Спасибо за ваш ответ.

ответ

2

я могу думать о 3-х решений ..

  1. Получить данные из сессии в класс Java, создать POJO и построить объект POJO с данными сессии. Затем сериализуйте это pojo и сохраните его в cookie вашего браузера. При извлечении его вы можете де-сериализовать его и использовать его в своей форме или в вашем Java-коде. Имейте, чтобы увидеть, насколько большой объект, который он делает, с данными, которые поступают. Cookies имеют ограничение на 4 Кбайт.

  2. Если вы можете использовать Angular (или JQuery), вы можете сохранить этот сеанс в «HTML5 LocalStorage» и получить его для управления и отображения в форме или отправки в веб-службу. Преимущество в том, что LocalStorage имеет большую емкость (5 МБ), и большинство современных браузеров поддерживают его. Недостатком является то, что вы не можете получить доступ к этой локализации из Java (на стороне сервера). Я добавил скриншот с настройками браузера, которые отображаются, когда вы нажимаете «Ctrl + i» в Chrome. enter image description here

  3. Сохраните данные сессии в AEM хранилище и управлять им оттуда (добавить данные, удалить, прочитать и т.д.)

Я выполнил каждый из вышеперечисленных и дайте мне знать, если вам нужно Примеры.

+1

, Мне также интересно узнать об этом more.If у вас есть примеры, которые разделяют их. –

Смежные вопросы