Я разрабатываю приложение с JSF2 в Tomcat. Все еще довольно свежий для JSF У меня есть вопрос, на который, я думаю, довольно просто ответить кому-то, у кого есть довольно хороший опыт разработки веб-приложений, особенно в JSF 2. Он касается способа хранения пользовательских данных во время их взаимодействия с приложением. В настоящее время я сохраняю большое количество данных в управляемом компоненте в рамках сеанса (например, в коллекции ранее извлеченных из объектов базы данных, которые сами связаны с другими объектами), и всякий раз, когда делается запрос, приложение будет обслуживать любой из этих объектов, сохраненных в этой коллекции. Но я обеспокоен тем, что сессионный компонент становится слишком раздутым, и я не знаю, сколько памяти безопасно для одного сессионного компонента. Чего я не знаю, так это когда приложение будет запущено в производство, и многие пользователи будут вести журнал, тогда сервер будет в порядке, чтобы справиться с этим. Поэтому я думаю, что мой вопрос заключается в следующем.
Есть ли какое-либо правило о покупке, хранении и обслуживании большого количества пользовательских данных, которые поступают из базы данных:
Можно ли делать это по-своему (то есть хранить много вещей в компоненте сессионной области), чтобы при каждом запросе приложение не запрашивало и не получало данные из базы данных. И это тот случай, когда лучше всего загружать объекты, связанные с объектом, хранящимся в списке, чтобы они загружались не все сразу, а только после того, как реальный объект используется для выполнения некоторых операций перед отправкой данных пользователю.
Или если приложение должно поддерживать сессионные компоненты достаточно легкими (без списков предварительно извлеченных сущностей, объектов и т. Д.) И вместо этого совершать поездку в базу данных каждый раз, когда требуется больший фрагмент данных, извлекайте его и обслуживайте муха?
Или, возможно, для этого есть совершенно другой метод, предпочтительный или рекомендуемый.
Все предложения и помощь очень приветствуются.