Видео урок № 17 EJB and JPA.

Видео урок № 17 (автор – Яков Файн) – в этом уроке вы познакомитесь с Enterprise Java Beans. Последние 10 мин. урока – очень коротко о Java Persistence API (JPA).

Автор Яков Файн (Yakov Fain). Краткое содержание урока:

  • Enterprise Java Beans (EJB) – Java классы аннотированные специальным образом, выполняющиеся в EJB – контейнере на стороне сервера приложений. EJB – контейнер управляет жизненным циклом бина.
  • Session Beans – данный тип бина предназначен для реализации бизнес логики приложения. Session Beans дополнительно подразделяется на подтипы.
  • Message-Driven Beans (MDB) – бины предназначены для получения сообщений из очередей.

Session Beans – сессионные бины:

  • Stateless session beans – бины не сохраняющие свое состояние. Данный тип выполняет определенную логику или вычисления, при необходимости возвращает результат и не привязан к пользовательской сессии. При следующем обращении пользователя к этому бину, может быть создан совершенно иной экземпляр. Таким образом, данный тип бинов занимает память только на момент его выполнения, затем может быть уничтожен JVM. По рекомендации автора, при разработке приложений, как можно большую часть бизнес логики необходимо реализовывать, используя – Stateless session beans. Это позволит сэкономить системные ресурсы сервера приложений.
  • Stateful beans – бины сохраняющие свое состояние между вызовами их методов. Бин создается контейнером и закрепляется за сессией пользователя. Время жизни такого бина – это сессия пользователя или пока бин не будет уничтожен специальным методом.
  • Singleton session beans – экземпляр данного типа бина создается в единственном экземпляре на все приложение. Все пользовательские сессии работают только с этим экземпляром.

Приводятся примеры по созданию и использованию Session Beans.

Transactions CMT and BMT:

  • Container-managed transactions – транзакции управляемые контейнером. В данном случае разработчику программного обеспечения нет необходимости управлять транзакциями, все методы будут выполняться в транзакциях управляемых контейнером.
  • Bean-managed transactions – в данном случае разработчик программного обеспечения берет на себя управление транзакциями используя UserTransaction().

Message-Driven Beans (MDB) – бины предназначены для получения сообщений из очередей. Создание MDB из обычного класса с использованием аннотации @MessageDriven. Класс должен содержать конструктор по умолчанию и класс должен быть не абстрактным. Пример создания MDB.

Java Persistence API (JPA) – определяет стандартный способ отображения Java-классов для таблиц реляционных баз данных. JPA использует объектно-реляционного отображения с СУБД.


Смотрите также видео уроки по Java 7 на русском языке (автор Яков Файн):