Опубликован: 18.03.2010 | Доступ: свободный | Студентов: 840 / 85 | Оценка: 4.48 / 4.33 | Длительность: 12:01:00
Лекция 4:

Технология Enterprise Java Beans. Часть 2

Компоненты

Всего в примере будут реализованы четыре компонента - три объектных компонента, соответствующие таблицам в базе данных и один сеансовый компонент, который будет играть роль корзины, как и в предыдущем примере с интернет магазином.

Компонент CommoditiesBean

Этот компонент описывает единицу товара на складе и соответствует таблице COMMODITIES_LIST_ENTITY. В Eclipse-WTP встроена возможность автоматического создания объектных компонент CMP по таблицам в базе данных. Сейчас с ее помощью будет создан компонент CommoditiesBean.

Создаем новый компонент

Рис. 4.13. Создаем новый компонент

Щелкаем правой кнопкой на проекте и выбираем раздел New -> XDoclet Enterprise JavaBean.

Объектный компонент CMP

Рис. 4.14. Объектный компонент CMP

В открывшемся меню выбираем "Container Manager Entity Bean" (Рис. 4.14).

Описание компонента

Рис. 4.15. Описание компонента

Вводим описание компонента (Рис. 4.15) - пакет (Javapackage),в котором будут располагаться классы компонента ( shoppingBasketObject ), его имя (CommoditiesBean),класс, от которого наследуется компонент ( java.lang.Object ).

Параметры компонента

Рис. 4.16. Параметры компонента

В параметрах компонента можно поменять имя компонента, идентификатор абстрактной схемы постоянства (необходима для языка запросов к объектным компонентам EJB-QL -будет рассмотрен далее), описание. В качестве CMP также следует оставить версию 2.x (версия 1.x оставлена для обратной совместимости с EJB 1.1).В параметре "usecase" выбираем "Import attributes from table" - это значит, что в дальнейшем объектный компонент будет создан непосредственно по таблице в базе данных.

Создание подключения к базе данных

Рис. 4.17. Создание подключения к базе данных

После этого нам будет предложено выбрать подключение к базе данных, в которой находится необходимая таблица. В моем случае такое подключение уже было создано (Рис. 4.17). Внизу выводятся параметры этого подключения. Для того, чтобы создать новое подключение, необходимо нажать кнопку "New".

Создание нового подключения

Рис. 4.18. Создание нового подключения

В окне создания нового подключения необходимо ввести все параметры этого подключения - название базы данных ( EJBDB, в примерах), драйвер подключения

( oracle.jdbc.OracleDriver ) - для базы данных Oracle,расположение библиотеки с классами драйвера ( ojdbc14.jar - внутри установочного каталога Oracle,или там, где вы его положите) и URL подключения к базе данных в формате jdbc:oracle:thin:@адрес подключения:порт:название базы данных. Слева необходимо выбрать тип базы данных (Oracle 9i) и логин и пароль для подключения. После этого кнопкой Test Connection можно проверить факт того, что все настройки были введены корректно.

Подключение удалось

Рис. 4.19. Подключение удалось

Если подключение было удачным, то заканчиваем работу по созданию подключения кнопкой Finish.

Вернувшись назад, выбираем только что созданное подключение и нажимаем кнопку Reconnect - для подключения к базе данных. После этого переходим к следующему этапу кнопкой Next. Eclipse,из соображений безопасности, может попросить вас ввести еще раз пароль на подключение к базе данных.

Создание компонента по таблице

увеличить изображение
Рис. 4.20. Создание компонента по таблице

Теперь можно выбрать необходимую таблицу в базе данных

( BORIS.COMMODITIES_LIST_ENTITY - таково ее полное имя в Oracle, BORIS - это пользователь, которому она принадлежит). Осталось только немного подредактировать параметры. Eclipse-WTP по умолчанию ,почему-то, сопоставляет целочисленным полям из базы данных тип java.math.BigDecimal. Заменяем его на java.lang.Integer, а тип JDBC - с DECIMAL на INTEGER. Также тип FLOAT из базы данных стал строковым. Заменяем его на java.lang.Double, а тип JDBC - на DOUBLE. Теперь с типами стало все в порядке, переходим к последнему этапу создания объектного компонента CommoditiesBean.

Выбор интерфейсов

увеличить изображение
Рис. 4.21. Выбор интерфейсов

В последнем окне можно к интерфейсу javax.ejb.EntityBean добавить еще какие либо интерфейсы, которые будут заимплементированы классом компонента (Рис. 4.21). В этом случае это не нужно. Нажимаем Finish. После этого Eclipse-WTP сгенерирует нам класс компонента shoppingBasketObject.CommoditiesBean со всеми необходимыми атрибутами XDoclet.

XDoclet по этим атрибутам сгенерирует удаленные, домашние и локальные интерфейсы, различные вспомогательные классы, а также файлы ejb.xml, jboss.xml и jbosscmp-jdbc.xml (если вы не забыли включить поддержку JBoss в настройках XDoclet).Теперь для работы и изменения созданного компонента CommoditiesBean,достаточно редактировать только файл CommoditiesBean.java. Все остальные файлы будут заново генерироваться XDoclet каждый раз при сохранении этого файла.

Созданные файлы

Рис. 4.22. Созданные файлы

Все сгенерированные XDoclet файлы на Рис. 4.22.

Антон Зубеков
Антон Зубеков

Здравствуйте, подскажите пожалуйста где можно достать материалы по курсу Кросс-платформенные и многозвенные технологии, о которых говориться, к примеру, в Лекции 2. Пример "Служба мгновенных сообщений"