несколько портлетов, делающих запросы к БД - PullRequest
2 голосов
/ 04 апреля 2011

Я новичок во всем этом портлете. Мой вопрос возник из-за того, что наша компания аутсорсинг такого рода разработки для другой компании. и они сталкиваются с этой проблемой: слишком много запросов направляется в БД, и многие портлеты на одной странице устанавливают соединение с БД.

Я думаю, что, возможно, есть лучший способ, например, наличие контроллера для всех этих портлетов, которые будут извлекать данные из БД для всех связанных портлетов, а затем сохранять их в сеансе или в чем-то другом. или, может быть, один портлет (может быть скрытый), который будет выполнять все вызовы и сохранять значения, полученные из БД для каждого портлета, в переменные сеанса.

они используют RAD и сервер WEbsphere Portal. это возможно?

спасибо

1 Ответ

1 голос
/ 06 апреля 2011

Я считаю, что это общая проблема. Лучшее (с точки зрения надежности и простоты), которое я могу придумать, - это кэширование доступа к базе данных - с использованием некоторых стандартных механизмов кэширования Java: EHCache или DynaCache - если вы хотите придерживаться стека Websphere. Должно быть простым в реализации, особенно простым, если вы используете ORM, например, Hibernate.

Хранение данных в сеансе звучит как некая попытка кеширования собственного производства, и что обычно не заканчивается хорошо. По крайней мере, у вас возникнут проблемы с параллелизмом.

...