Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 637335)
Контекстум
Электро-2024

EJB 3 в действии (4000,00 руб.)

0   0
АвторыПанда Дебу , Рахман Реза , Купрак Райан , Ремижан Майкл
ИздательствоМ.: ДМК Пресс
Страниц620
ID834961
АннотацияФреймворк EJB 3 предоставляет стандартный способ оформления прикладной логики в виде управляемых модулей, которые выполняются на стороне сервера, упрощая тем самым создание, сопровождение и расширение приложений Java EE. Версия EJB 3.2 включает большее число расширений и более тесно интегрируется с другими технологиями Java, такими как CDI, делая разработку еще проще. Книга знакомит читателя с EJB на многочисленных примерах кода, сценариях из реальной жизни и иллюстрациях. Помимо основ в ней описываются некоторые особенности внутренней реализации, наиболее эффективные приемы использования, шаблоны проектирования, даются советы по оптимизации производительности и различные способы доступа, включая веб-службы, службы REST и веб-сокеты.
Кому рекомендованоИздание предназначено программистам, уже знающим язык Java. Опыт работы с EJB или Java EE не требуется.
ISBN978-5-89818-325-7
УДК004.455.2
ББК32.973.41
EJB 3 в действии / Д. . Панда, Р. . Рахман, Р. . Купрак, М. . Ремижан .— Пер. с англ. А. Н. Киселе- ва. — 2-е изд., эл. — Москва : ДМК Пресс, 2023 .— 620 с. — 1 файл pdf : 620 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. — ISBN 978-5-89818-325-7 .— URL: https://rucont.ru/efd/834961 (дата обращения: 01.06.2024)

Предпросмотр (выдержки из произведения)

EJB_3_в_действии.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Стр.14
EJB_3_в_действии.pdf
УДК 004.455.2 ББК 32.973.41 П16 П16 Панда, Дебу. EJB 3 в действии / Д. Панда, Р. Рахман, Р. Купрак и др. ; пер. с англ. А. Н. Киселева. — 2-е изд., эл. — 1 файл pdf : 620 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-325-7 Фреймворк EJB 3 предоставляет стандартный способ оформления прикладной логики в виде управляемых модулей, которые выполняются на стороне сервера, упрощая тем самым создание, сопровождение и расширение приложений Java EE. Версия EJB 3.2 включает большее число расширений и более тесно интегрируется с другими технологиями Java, такими как CDI, делая разработку еще проще. Книга знакомит читателя с EJB на многочисленных примерах кода, сценариях из реальной жизни и иллюстрациях. Помимо основ в ней описываются некоторые особенности внутренней реализации, наиболее эффективные приемы использования, шаблоны проектирования, даются советы по оптимизации производительности и различные способы доступа, включая веб-службы, службы REST и веб-сокеты. Издание предназначено программистам, уже знающим язык Java. Опыт работы с EJB или Java EE не требуется. УДК 004.455.2 ББК 32.973.41 Электронное издание на основе печатного издания: EJB 3 в действии / Д. Панда, Р. Рахман, Р. Купрак и др. ; пер. с англ. А. Н. Киселева. — Москва : ДМК Пресс, 2015. — 618 с. — ISBN 978-5-97060-135-8. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-325-7 © 2014 by Manning Publications Co. © Оформление, перевод на русский язык, и здание, ДМК Пресс, 2015
Стр.5
ОГЛАВЛЕНИЕ Предисловие ......................................................................... 14 Благодарности .................................................................................................. 15 О книге .............................................................................................................. 18 Структура книги ................................................................................................ 19 Загружаемый исходный код .............................................................................. 20 Соглашения по оформлению исходного кода .................................................... 20 Автор в сети ...................................................................................................... 20 О названии ........................................................................................................ 21 Об авторах ........................................................................................................ 21 Об иллллюстрации на обложке .......................................................................... 22 ЧАСТЬ I Обзор ландшафта EJB ............................................................. 23 Глава 1. Что такое EJB 3 ........................................................... 24 1.1. Обзор EJB ................................................................................................... 25 1.1.1. EJB как модель компонентов .............................................................. 26 1.1.2. Службы компонентов EJB ................................................................... 26 1.1.3. Многоуровневые архитектуры и EJB ................................................... 28 1.1.4. Почему стоит выбрать EJB 3? .............................................................. 32 1.2. Основы типов EJB ....................................................................................... 34 1.2.1. Сеансовые компоненты ...................................................................... 34 1.2.2. Компоненты, управляемые сообщениями ........................................... 35 1.3. Связанные спецификации .......................................................................... 35 1.3.1. Сущности и Java Persistence API .......................................................... 35 1.3.2. Контексты и внедрение зависимостей для Java EE .............................. 37 1.4. Реализации EJB .......................................................................................... 37 1.4.1. Серверы приложений ......................................................................... 38 1.4.2. EJB Lite ............................................................................................... 39 1.4.3. Встраиваемые контейнеры ................................................................. 40 1.4.4. Использование EJB 3 в Tomcat ............................................................ 40 1.5. Превосходные инновации ........................................................................... 41 1.5.1. Пример «Hello User» ............................................................................ 41 1.5.2. Аннотации и XML ................................................................................. 42 1.5.3. Значения по умолчанию и явные настройки ........................................ 43 1.5.4. Внедрение зависимостей и поиск в JNDI ............................................ 44 1.5.5. CDI и механизм внедрения в EJB ........................................................ 45 1.5.6. Тестируемость компонентов POJO ...................................................... 45
Стр.6
6 Оглавление 1.6. Новшества в EJB 3.2 ................................................................................... 46 1.6.1. Поддержка EJB 2 теперь является необязательной ............................. 46 1.6.2. Усовершенствования в компонентах, управляемых сообщениями ...... 46 1.6.3. Усовершенствования в сеансовых компонентах с сохранением состояния .................................................................................................... 47 1.6.4. Упрощение локальных интерфейсов компонентов без сохранения состояния .................................................................................................... 48 1.6.5. Усовершенствования в TimerService API .............................................. 49 1.6.6. Усовершенствования в EJBContainer API ............................................. 49 1.6.7. Группы EJB API .................................................................................... 49 1.7. В заключение .............................................................................................. 50 Глава 2. Первая проба EJB ........................................................ 51 2.1. Введение в приложение ActionBazaar ......................................................... 52 2.1.1. Архитектура ........................................................................................ 52 2.1.2. Решение на основе EJB 3 .................................................................... 54 2.2. Реализация прикладной логики с применением EJB 3 ................................ 55 2.2.1. Использование сеансовых компонентов без сохранения состояния ... 56 2.2.2 Использование сеансовых компонентов с сохранением состояния ..... 58 2.2.3. Модульное тестирование компонентов EJB 3 ..................................... 63 2.3. Использование CDI с компонентами EJB 3 .................................................. 64 2.3.1. Использование CDI с JSF 2 и EJB 3 ...................................................... 65 2.3.2. Использование CDI с EJB 3 и JPA 2 ...................................................... 68 2.4. Использование JPA 2 с EJB 3 ...................................................................... 70 2.4.1. Отображение сущностей JPA 2 в базу данных ..................................... 71 2.4.2. Использование EntityManager ............................................................. 72 2.5. В заключение .............................................................................................. 74 ЧАСТЬ II Компоненты EJB ..................................................................... 75 Глава 3. Реализация прикладной логики с помощью сеансовых компонентов .......................................................................... 76 3.1. Знакомство с сеансовыми компонентами ................................................... 77 3.1.1. Когда следует использовать сеансовые компоненты .......................... 78 3.1.2. Состояние компонента и типы сеансовых компонентов ...................... 80 3.2. Сеансовые компоненты без сохранения состояния .................................... 83 3.2.1. Когда следует использовать сеансовые компоненты без сохранения состояния ........................................................................... 83 3.2.2. Организация компонентов в пулы ....................................................... 84 3.2.3. Пример BidService .............................................................................. 86 3.2.4. Применение аннотации @Stateless ..................................................... 89 3.2.5. Прикладные интерфейсы компонентов ............................................... 90 3.2.6. События жизненного цикла ................................................................. 93 3.2.7. Эффективное использование сеансовых компонентов без сохранения состояния ........................................................................... 96 3.3. Сеансовые компоненты с сохранением состояния ...................................... 97 3.3.1. Когда следует использовать сеансовые компоненты с сохранением состояния ............................................................................. 98
Стр.7
Оглавление 7 3.3.2. Пассивация компонентов .................................................................... 99 3.3.3. Сеансовые компоненты с сохранением состояния в кластере .......... 100 3.3.4. Пример реализации создания учетной записи .................................. 100 3.3.5. Применение аннотации @Stateful ..................................................... 104 3.3.6. Прикладные интерфейсы компонентов ............................................. 105 3.3.7. События жизненного цикла ............................................................... 105 3.3.8. Эффективное использование сеансовых компонентов с сохранением состояния ........................................................................... 107 3.4. Сеансовые компоненты-одиночки ............................................................ 109 3.4.1. Когда следует использовать сеансовые компоненты-одиночки ........ 110 3.4.2. Пример реализации «товара дня» в ActionBazaar .............................. 111 3.4.3. Применение аннотации @Singleton ................................................... 113 3.4.4. Управление конкуренцией в компоненте-одиночке ........................... 114 3.4.5. Прикладной интерфейс компонента ................................................. 117 3.4.6. События жизненного цикла ............................................................... 118 3.4.7. Аннотация @Startup .......................................................................... 119 3.4.8. Эффективное использование сеансовых компонентов-одиночек ..... 120 3.5. Асинхронные сеансовые компоненты ....................................................... 122 3.5.1. Основы асинхронного вызова ........................................................... 122 3.5.2. Когда следует использовать асинхронные сеансовые компоненты ................................................................................................ 123 3.5.3. Пример компонента ProcessOrder ..................................................... 124 3.5.4. Применение аннотации @Asynchronous ............................................ 126 3.5.5. Применение интерфейса Future ........................................................ 127 3.5.6. Эффективное использование асинхронных сеансовых компонентов .............................................................................................. 127 3.6. В заключение ............................................................................................ 128 Глава 4. Обмен сообщениями и разработка компонентов MDB ..... 130 4.1. Концепции обмена сообщениями ............................................................. 131 4.1.1. Промежуточное ПО передачи сообщений ......................................... 131 4.1.2. Обмен сообщениями в ActionBazaar ................................................. 132 4.1.3. Модели обмена сообщениями .......................................................... 134 4.2. Введение в JMS ........................................................................................ 136 4.2.1. Интерфейс JMS Message .................................................................. 138 4.3. Использование компонентов MDB ............................................................ 140 4.3.1. Когда следует использовать обмен сообщениями и компоненты MDB ..................................................................................... 141 4.3.2. Почему следует использовать MDB? ................................................. 141 4.3.3. Разработка потребителя сообщений с применением MDB ................ 143 4.3.4. Применение аннотации @MessageDriven .......................................... 144 4.3.5. Реализация интерфейса MessageListener ......................................... 145 4.3.6. Использование параметра ActivationConfigProperty .......................... 146 4.3.7. События жизненного цикла ............................................................... 149 4.3.8. Отправка сообщений JMS из компонентов MDB ............................... 151 4.3.9. Управление транзакциями MDB ........................................................ 152 4.4. Приемы использования компонентов MDB ............................................... 153 4.5. В заключение ............................................................................................ 155
Стр.8
8 Оглавление Глава 5. Контекст EJB времени выполнения, внедрение зависимостей и сквозная логика ..............................................157 5.1. Контекст EJB ............................................................................................ 157 5.1.1. Основы контекста EJB....................................................................... 158 5.1.2. Интерфейсы контекста EJB ............................................................... 159 5.1.3. Доступ к контейнеру через контекст EJB ........................................... 160 5.2. Использование EJB DI и JNDI .................................................................... 161 5.2.1. Пример использования JNDI в EJB .................................................... 162 5.2.2. Как присваиваются имена компонентам EJB ..................................... 166 5.2.3. Внедрение зависимостей с применением @EJB ............................... 169 5.2.4. Когда следует использовать внедрение зависимостей EJB ............... 170 5.2.5. Аннотация @EJB в действии .............................................................. 171 5.2.6. Внедрение ресурсов с помощью аннотации @Resource .................... 173 5.2.7. Когда следует использовать внедрение ресурсов ............................. 175 5.2.8. Аннотация @Resource в действии ..................................................... 175 5.2.9. Поиск ресурсов и компонентов EJB в JNDI ........................................ 178 5.2.10. Когда следует использовать поиск в JNDI ....................................... 180 5.2.11. Контейнеры клиентских приложений .............................................. 180 5.2.12. Встраиваемые контейнеры ............................................................. 181 5.2.13. Эффективный поиск и внедрение компонентов EJB ........................ 183 5.2.14. Механизмы внедрения EJB и CDI .................................................... 184 5.3. AOP в мире EJB: интерцепторы ................................................................. 185 5.3.1. Что такое AOP? ................................................................................. 185 5.3.2. Основы интерцепторов ..................................................................... 186 5.3.3. Когда следует использовать интерцепторы ...................................... 187 5.3.4. Порядок реализации интерцепторов ................................................ 187 5.3.5. Определение интерцепторов ............................................................ 188 5.3.6. Интерцепторы в действии ................................................................. 192 5.3.7. Эффективное использование интерцепторов ................................... 198 5.3.8. Интерцепторы CDI и EJB ................................................................... 199 5.4. В заключение ............................................................................................ 205 Глава 6. Транзакции и безопасность .........................................206 6.1. Знакомство с транзакциями ..................................................................... 207 6.1.1. Основы транзакций ........................................................................... 208 6.1.2. Транзакции в Java ............................................................................. 210 6.1.3. Транзакции в EJB .............................................................................. 212 6.1.4. Когда следует использовать транзакции ........................................... 214 6.1.5. Как реализованы транзакции EJB ..................................................... 215 6.1.6. Двухфазное подтверждение ............................................................. 217 6.1.7. Производительность JTA .................................................................. 218 6.2. Транзакции, управляемые контейнером ................................................... 219 6.2.1. Досрочное оформление заказов с применением модели CMT .......... 219 6.2.2. Аннотация @TransactionManagement ................................................. 220 6.2.3. Аннотация @TransactionAttribute........................................................ 221 6.2.4. Откат транзакций в модели CMT ....................................................... 224 6.2.5. Транзакции и обработка исключений ................................................ 226 6.2.6. Синхронизация с сеансом ................................................................ 228 6.2.7. Эффективное использование модели CMT ....................................... 228
Стр.9
Оглавление 9 6.3. Транзакции, управляемые компонентами ................................................. 229 6.3.1. Досрочное оформление заказов с применением модели BMT .......... 230 6.3.2. Получение экземпляра UserTransaction ............................................. 231 6.3.3. Использование интерфейса UserTransaction ..................................... 232 6.3.4. Эффективное использование модели BMT ....................................... 234 6.4. Безопасность EJB ..................................................................................... 234 6.4.1. Аутентификация и авторизация ........................................................ 235 6.4.2. Пользователи, группы и роли ............................................................ 236 6.4.3. Как реализована поддержка безопасности в EJB .............................. 237 6.4.4. Декларативное управление безопасностью в EJB ............................. 241 6.4.5. Программное управление безопасностью в EJB ............................... 243 6.4.6. Эффективное использование поддержки безопасности в EJB .......... 246 6.5. В заключение ............................................................................................ 247 Глава 7. Планирование и таймеры ............................................249 7.1. Основы планирования .............................................................................. 250 7.1.1. Возможности Timer Service ............................................................... 250 7.1.2. Таймауты .......................................................................................... 253 7.1.3. Cron .................................................................................................. 253 7.1.4. Интерфейс Timer .............................................................................. 254 7.1.5. Типы таймеров .................................................................................. 256 7.2. Декларативные таймеры .......................................................................... 257 7.2.1. Аннотация @Schedule ....................................................................... 257 7.2.2. Аннотация @Schedules ...................................................................... 258 7.2.3. Параметры аннотации @Schedule ..................................................... 258 7.2.4. Пример использования декларативных таймеров ............................. 259 7.2.5. Синтаксис правил в стиле cron .......................................................... 260 7.3. Программные таймеры ............................................................................. 263 7.3.1. Знакомство с программными таймерами ......................................... 263 7.3.2. Пример использования программных таймеров ............................... 265 7.3.3. Эффективное использование программных таймеров EJB ............... 267 7.4. В заключение ............................................................................................ 268 Глава 8. Компоненты EJB как веб-службы ..................................270 8.1. Что такое «веб-служба»? ........................................................................... 271 8.1.1. Свойства веб-служб .......................................................................... 271 8.1.2. Транспорты ....................................................................................... 272 8.1.3. Типы веб-служб ................................................................................ 272 8.1.4. Java EE API для веб-служб ................................................................. 273 8.1.5. Веб-службы и JSF ............................................................................. 274 8.2. Экспортирование компонентов EJB с использованием SOAP (JAX-WS) ..... 274 8.2.1. Основы SOAP .................................................................................... 274 8.2.2. Когда следует использовать службы SOAP ........................................ 279 8.2.3. Когда следует экспортировать компоненты EJB в виде веб-служб SOAP ......................................................................................... 280 8.2.4. Веб-служба SOAP для ActionBazaar ................................................... 281 8.2.5. Аннотации JAX-WS ............................................................................ 286 8.2.6. Эффективное использование веб-служб SOAP в EJB ........................ 290 8.3. Экспортирование компонентов EJB с использованием REST (JAX-RS) ...... 292
Стр.10
10 Оглавление 8.3.1. Основы REST .................................................................................... 293 8.3.2. Когда следует использовать REST/JAX-RS ........................................ 296 8.3.3. Когда следует экспортировать компоненты EJB в виде веб-служб REST ......................................................................................... 297 8.3.4. Веб-служба REST для ActionBazaar ................................................... 298 8.3.5. Аннотации JAX-RS ............................................................................. 302 8.3.6. Эффективное использование веб-служб REST в EJB ........................ 307 8.4. Выбор между SOAP и REST ....................................................................... 308 8.5. В заключение ............................................................................................ 310 ЧАСТЬ III Использование EJB совместно с JPA и CDI ................................ 311 Глава 9. Сущности JPA ........................................................... 312 9.1. Введение в JPA ......................................................................................... 313 9.1.1. Несоответствие интерфейсов ........................................................... 313 9.1.2. Взаимосвязь между EJB 3 и JPA ........................................................ 314 9.2. Предметное моделирование .................................................................... 315 9.2.1. Введение в предметное моделирование ........................................... 315 9.2.2. Предметная модель приложения ActionBazaar .................................. 315 9.3. Реализация объектов предметной области с помощью JPA ...................... 320 9.3.1. Аннотация @Entity ............................................................................. 320 9.3.2. Определение таблиц......................................................................... 322 9.3.3. Отображение свойств в столбцы ....................................................... 325 9.3.4. Типы представления времени ........................................................... 330 9.3.5. Перечисления ................................................................................... 331 9.3.6. Коллекции ........................................................................................ 332 9.3.7. Определение идентичности сущностей ............................................ 334 9.3.8. Генерирование значений первичных ключей ..................................... 339 9.4. Отношения между сущностями ................................................................. 343 9.4.1. Отношение «один к одному» ............................................................. 344 9.4.2. Отношения «один ко многим» и «многие к одному» ........................... 346 9.4.3. Отношение «многие ко многим» ........................................................ 349 9.5. Отображение наследования ..................................................................... 350 9.5.1. Стратегия единой таблицы ............................................................... 351 9.5.2. Стратегия соединения таблиц .......................................................... 353 9.5.3. Стратегия отдельных таблиц для каждого класса .............................. 354 9.6. В заключение ............................................................................................ 357 Глава 10. Управление сущностями ...........................................358 10.1. Введение в использование EntityManager ............................................... 358 10.1.1. Интерфейс EntityManager ................................................................ 359 10.1.2. Жизненный цикл сущностей ............................................................ 361 10.1.3. Контекст сохранения, области видимости и EntityManager .............. 364 10.1.4. Использование EntityManager в ActionBazaar .................................. 366 10.1.5. Внедрение EntityManager ................................................................ 367 10.1.6. Внедрение EntityManagerFactory ..................................................... 369 10.2. Операции с хранилищем ......................................................................... 371 10.2.1. Сохранение сущностей ................................................................... 372
Стр.11
Оглавление 11 10.2.2. Извлечение сущностей по ключу ..................................................... 373 10.2.3. Изменение сущностей .................................................................... 379 10.2.4. Удаление сущностей ....................................................................... 382 10.3. Запросы сущностей ................................................................................ 384 10.3.1. Динамические запросы ................................................................... 385 10.3.2. Именованные запросы .................................................................... 385 10.4. В заключение .......................................................................................... 386 Глава 11. JPQL ......................................................................387 11.1. Введение в JPQL ..................................................................................... 387 11.1.1. Типы инструкций ............................................................................. 388 11.1.2. Предложение FROM ........................................................................ 390 11.1.3. Инструкция SELECT ........................................................................ 401 11.1.4. Управление результатами ............................................................... 404 11.1.5. Соединение сущностей................................................................... 405 11.1.6. Операции массового удаления и изменения ................................... 408 11.2. Запросы Criteria ...................................................................................... 409 11.2.1. Метамодели.................................................................................... 410 11.2.2. CriteriaBuilder .................................................................................. 413 11.2.3. CriteriaQuery.................................................................................... 414 11.2.4. Корень запроса ............................................................................... 415 11.2.5. Предложение FROM ........................................................................ 419 11.2.6. Предложение SELECT ..................................................................... 419 11.3. Низкоуровневые запросы ....................................................................... 422 11.3.1. Динамические SQL-запросы ........................................................... 423 11.3.2. Именованные SQL-запросы ............................................................ 424 11.3.3. Хранимые процедуры ..................................................................... 425 11.4. В заключение .......................................................................................... 429 Глава 12. Использование CDI в EJB 3 .........................................430 12.1. Введение в CDI ....................................................................................... 431 12.1.1. Службы CDI ..................................................................................... 433 12.1.2. Отношения между CDI и EJB 3 ......................................................... 436 12.1.3. Отношения между CDI и JSF 2 ......................................................... 437 12.2. Компоненты CDI ...................................................................................... 437 12.2.1. Как пользоваться компонентами CDI ............................................... 438 12.2.2. Именование компонентов и их разрешение в выражениях EL .......... 439 12.2.3. Области видимости компонентов.................................................... 440 12.3. Следующее поколение механизмов внедрения зависимостей ................ 443 12.3.1. Внедрение с помощью @Inject ........................................................ 443 12.3.2. Фабричные методы ......................................................................... 445 12.3.3. Квалификаторы ............................................................................... 448 12.3.4. Методы уничтожения ...................................................................... 449 12.3.5. Определение альтернатив .............................................................. 450 12.4. Интерцепторы и декораторы ................................................................... 453 12.4.1. Привязка интерцепторов ................................................................ 453 12.4.2. Декораторы .................................................................................... 456 12.5. Стереотипы ............................................................................................ 457 12.6. Внедрение событий ................................................................................ 459
Стр.12
12 Оглавление 12.7. Диалоги .................................................................................................. 461 12.8. Эффективное использование CDI в EJB 3 ............................................... 467 12.9. В заключение .......................................................................................... 469 ЧАСТЬ IV Ввод EJB в действие ..............................................................471 Глава 13. Упаковка приложений EJB 3 .......................................472 13.1. Упаковка приложений ............................................................................. 472 13.1.1. Строение системы модулей Java EE ................................................ 475 13.1.2. Загрузка модулей Java EE ............................................................... 476 13.2. Загрузка классов .................................................................................... 478 13.2.1. Основы загрузки классов ................................................................ 478 13.2.2. Загрузка классов в приложениях Java EE ........................................ 478 13.2.3. Зависимости между модулями Java EE ........................................... 481 13.3. Упаковка сеансовых компонентов и компонентов, управляемых сообщениями .................................................................................................. 483 13.3.1. Упаковка EJB-JAR ........................................................................... 483 13.3.2. Упаковка компонентов EJB в модуль WAR ........................................ 485 13.3.3. XML против аннотаций .................................................................... 488 13.3.4. Переопределение настроек, указанных в аннотациях ..................... 492 13.3.5. Определение интерцепторов по умолчанию ................................... 493 13.4. Упаковка сущностей JPA ......................................................................... 494 13.4.1. Модуль доступа к хранимым данным............................................... 494 13.4.2. Описание модуля доступа к хранимым данным в persistence.xml .... 496 13.5. Упаковка компонентов CDI ...................................................................... 498 13.5.1. Модули CDI ..................................................................................... 498 13.5.2. Дескриптор развертывания beans.xml ............................................ 499 13.5.3. Атрибут bean-discovery-mode.......................................................... 500 13.6. Эффективные приемы и типичные проблемы развертывания ................. 501 13.6.1. Эффективные приемы упаковки и развертывания ........................... 501 13.6.2. Решение типичных проблем развертывания ................................... 503 13.7. В заключение .......................................................................................... 504 Глава 14. Использование веб-сокетов с EJB 3 .............................505 14.1. Ограничения схемы взаимодействий «запрос/ответ» ............................. 505 14.2. Введение в веб-сокеты ........................................................................... 507 14.2.1. Основы веб-сокетов........................................................................ 507 14.2.2. Веб-сокеты и AJAX .......................................................................... 511 14.2.3. Веб-сокеты и Comet ........................................................................ 513 14.3. Веб-сокеты и Java EE .............................................................................. 515 14.3.1. Конечные точки веб-сокетов ........................................................... 516 14.3.2. Интерфейс Session ......................................................................... 517 14.3.3. Кодеры и декодеры ......................................................................... 520 14.4. Веб-сокеты в приложении ActionBazaar .................................................. 523 14.4.1. Использование программных конечных точек ................................. 526 14.4.2. Использование аннотированных конечных точек ............................. 530 14.5. Эффективное использование веб-сокетов .............................................. 537 14.6. В заключение .......................................................................................... 539
Стр.13
Оглавление 13 Глава 15. Тестирование компонентов EJB ..................................541 15.1. Введение в тестирование ....................................................................... 541 15.1.1. Стратегии тестирования ................................................................. 542 15.2. Модульное тестирование компонентов EJB ............................................ 544 15.3. Интеграционное тестирование с использованием EJBContainer ............. 548 15.3.1. Настройка проекта .......................................................................... 549 15.3.2. Интеграционный тест ...................................................................... 552 15.4. Интеграционное тестирование с применением Arquillian ........................ 555 15.4.1. Настройка проекта .......................................................................... 556 15.4.2. Интеграционный тест ...................................................................... 560 15.5. Приемы эффективного тестирования ..................................................... 563 15.6. В заключение .......................................................................................... 565 Приложение А. Дескриптор развертывания, справочник ..............566 A.1. ejb-jar.xml .................................................................................................. 566 A.1.1. ................................................................................ 567 A.1.2. ........................................................................... 567 A.1.3. Интерцепторы .................................................................................. 571 A.1.4. ...................................................................... 571 Приложение B. Введение в Java EE 7 SDK ..................................576 B.1. Установка Java EE 7 SDK ........................................................................... 576 B.2. GlassFish Administration Console ................................................................ 581 B.3. Запуск и остановка GlassFish .................................................................... 584 B.4. Запуск приложения «Hello World» .............................................................. 586 Приложение C. Сертификационные экзамены разработчика для EJB 3..............................................................................590 C.1. Начало процесса сертификации ............................................................... 591 C.2. Порядок прохождения сертификационных испытаний для разработчиков EJB 3 ................................................................................. 593 C.3. Знания, необходимые для прохождения испытаний ................................. 595 C.4. Подготовка к испытаниям ......................................................................... 597 C.5. Сертификационные испытания ................................................................ 598 Предметный указатель ...........................................................600
Стр.14

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст