Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > EJB где найти статьи


Автор: Slavca 14.2.2005, 12:33
Здравствуйте.

Изучал самостоятельно платформу J2EE.
Изучил сервлеты и JSP (последнее поверхностно).
Теперь нутром чую что нужны EJB.
Не могу найти статьи в инете, описывающие
общие принципы EJB-технологии. Зачем оно, и в
каких случаях применяется? И примерчик бы наглядный. smile
Мне-то надо написать модуль, которому передается
SQL-запрос, он его посылает к БД, кэширует страницы,
т.е. "живет" все время.
Запросы на сервлеты приходят и уходят, а он остается.
Изменения в БД предполагается делать один раз в сутки,
поэтому проблемы с постоянным очищением того самого
кэша быть не должно.
Помогите. Может кто книжку умную посоветует (желательно
на русском) или совет даст.
Заранее спасибо.

Автор: Domestic Cat 14.2.2005, 19:57
http://forum.vingrad.ru/index.php?showtopic=38898

Насчет твоего вопроса - данные в веб приложении можно хранить: в сессии, в реквесте, в приложении. Цепляешь к контексту сервлета что нужно и все, никаких ejb не надо.

Автор: Slavca 16.2.2005, 13:24
В сессии и реквесте не пойдет.
Это ж куча пользователей, куча запросов,
куча страниц (ResultSet) для кэширования.
Вот отдельное приложение - это уже ближе.
Но мне не только соорудить нужно. Мне идею
Ejb понять заодно. Зачем их придумали.
Мне нужен модуль, который бы сохранял свое
состояние в независимости от того есть
запросы от пользователей или нет.
Поступил запрос (например, select * from table1)
этот модуль соединился с БД, получил ResultSet
и в структуру внутреннюю в памяти запихал.
Прошло время, новый запрос - тоже. Еще через
некот. время опять запрос типа первого - он
чем коннектится к БД взял из кэша.
Потом другой

Автор: Slavca 16.2.2005, 13:28
Извиняюсь, что не дописал.
Потом другой модуль (который обновляет
данные в БД) подал сюда сообщение о том,
что "даные в БД не соответствуют твоему кэшу,
пора бы и кэш очистить и при новых запросах
заново к БД подключаться" и вся структура из
памяти со всеми ResultSet'ами удаляется.
Вот что мне надо.
Что для этого лучще использовать?
Какую технологию?
Диплом пишу, не кому-то, себе пишу.

P.S.: Предполагается использовать систему
как на Unix, так и на других платформах,
поэтому технологию CORBA не предлагать.

Автор: Domestic Cat 16.2.2005, 18:22
Прощe пo-моему написать обычный класс, который этим будет заниматься, и грузить его при загрузке приложения.

Кстати зарегистрируйся - удобнее будет smile

Автор: Slavca 17.2.2005, 06:14
Просто класс - это можно.
Но хочется не просто, а "так, чтоб круто" smile .
Это ж мой диплом.
А тему я создавал чтоб подсказали "что такое ejb".
А использовать их или нет сам решу.
Реализовать не проблема. Хочется в идею вникнуть.

Насчет зарегистрироваться - подумаю.


Автор: Domestic Cat 17.2.2005, 06:21
Цитата(Slavca @ 16.2.2005, 21:14)
А тему я создавал чтоб подсказали "что такое ejb".


Ну так бы и сказал, а то
Цитата
Что для этого лучще использовать? Какую технологию?





Автор: Slavca 17.2.2005, 06:25
Извините меня, неопытный по форумам...

Автор: Domestic Cat 17.2.2005, 07:19
Имо, ejb здесь нужны как зайцу велосипед. Вот если бы у тебя было 20 филиалов по всему миру и нужно было бы собирать с них инфу и подавать юзеру - тогда да. А для веб сервера горадо круче и нужнее будет использовать скажем Модель 2, JSTL, struts, tapestry, turbine, веб сервис - не все вместе конечно, но что-нибудь. А для работы с бд создать самый обычный бин или вообще jstl юзать. Вот тогда это будет круто.

Автор: Slavca 17.2.2005, 08:32
Я, конечно, яву учу.
Но ни "Модель 2", ни другие вещи что значат не знаю smile
Не объясните что это такое.

(Про себя:)
Испугавшись он подумал:
"Легче и знакомче соорудить отдельный класс, как и говорилось ранее. Сделать ссылку на него в
качестве атрибута сервлета. При инициализации создавать объект, а при обращении пользователей использовать этот класс."


Автор: Domestic Cat 17.2.2005, 08:35
Цитата(Slavca @ 16.2.2005, 23:32)
Я, конечно, яву учу.
Но ни "Модель 2", ни другие вещи что значат не знаю smile
Не объясните что это такое.


Тут в двух словах не скажешь. Но можно начать с просмотра сайта, без которого - никуда.

http://www.apache.org/

Автор: Guest 17.2.2005, 08:36
Не дурак, насек понял
smile

Автор: Slavca 18.2.2005, 06:01
Здравствуйте, это снова я - Slavca.
Только теперь зарегистрировался.

Тему можно удалить.
А то будет болтаться без надобности.
Всем спасибо.

P.S.: А делать я решил так, как и думал с самого начала, как и Domestic Cat сказал:
Создам класс, который будет работать с базой и кэшировать результаты, и
сделаю ссылку на него в классе сервлета. При инициализации сервлета буду
создавать объект, а при обращениях пользователей обращаться к этому объекту.

Автор: Domestic Cat 18.2.2005, 06:20
За регистрацию спасибо smile

Для крутизны, кстати, в тот класс можно добавить пул коннекшнов.

Автор: Slavca 21.2.2005, 06:27
Тоже идея.

Сейчас, кстати, этот класс и пишу.

Автор: Domestic Cat 21.2.2005, 07:01
Попробуй посмотреть http://www.hibernate.org/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)