powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Архитектура EJB
2 сообщений из 2, страница 1 из 1
Архитектура EJB
    #34950585
Rust()
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, готовый шаблон такой задачи: приложение использует EJB, который реализует логику базы данных (вызов sql запросов к БД, обработка результатов). Вызовы методов EJB необходимо макисимально оптимизировать в скорости. Приложение ориентировано на многопользовательский режим.
Какого типа должен быть EJB? (stateless или statefull). Где должно хранится соединение с БД, когда оно должно закрываться и открываться? Стоит ли использоватеь PreparedStatement для ускорения выполнения запросов и как? Как обеспечить многопоточность, разграничение одновременного вызова метода?
...
Рейтинг: 0 / 0
Архитектура EJB
    #34950674
Вообще-то вопрос не для этой группы.
Однозначно читать документацию по архитектуре J2EE.

1. По возможности нужно использовать Stateless-компоненты.
2. Для работы с СУБД нужно средствами сервера приложений организовать пул соединений, а в приложении получать соединение из пула, выполнять запрос/запросы и возвращать соединение в пул(закрывая соединение).
3. Желательно пользоваться PreparedStatement, т.к. динамические запросы кешируются как самим сервером СУБД, так и сервером приложений. Но чтобы взялся запрос из кеша он должен посимвольно совпадать с уже готовым. Если в запрос явно подставлены значения параметров и они меняются при каждом новом запросе, то с т.з. СУБД это будут разные запросы. Если же использовать PreparedStatement с подстановочными символами для значений, то текст запроса при разных параметрах будет совпадать.
При этому нужно не забывать смотреть на план выполнения запроса. В зависимости от текста запроса может быстрее выполняться запрос с явно подставленными значениями параметров.
4. Многопоточность обеспечивает сервер приложений, но разработчик должен следовать правилам написания классов. Например для сервлетов один экземпляр сервлета может обслуживать N-запросов, поэтому в классе сервлета нельзя использовать private-переменные. Все это есть в спецификациях J2EE.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Архитектура EJB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]