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

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

0   0
АвторыПанда Дебу , Рахман Реза , Купрак Райан , Ремижан Майкл , Киселев А. Н.
ИздательствоМ.: ДМК Пресс
Страниц620
ID794527
АннотацияФреймворк EJB 3 предоставляет стандартный способ оформления прикладной логики в виде управляемых модулей, которые выполняются на стороне сервера, упрощая тем самым создание, сопровождение и расширение приложений Java EE. Версия EJB 3.2 включает большее число расширений и более тесно интегрируется с другими технологиями Java, такими как CDI, делая разработку еще проще. Книга знакомит читателя с EJB на многочисленных примерах кода, сценариях из реальной жизни и иллюстрациях. Помимо основ в ней описываются некоторые особенности внутренней реализации, наиболее эффективные приемы использования, шаблоны проектирования, даются советы по оптимизации производительности и различные способы доступа, включая веб-службы, службы REST и веб-сокеты.
Кому рекомендованоИздание предназначено программистам, уже знающим язык Java. Опыт работы с EJB или Java EE не требуется.
ISBN978-5-97060-135-8
УДК004.455.2
ББК32.973.41
EJB 3 в действии = EJB 3 in Action / Д. Панда, Р. Рахман, Р. Купрак, М. Ремижан; пер. А.Н. Киселев .— Москва : ДМК Пресс, 2015 .— 620 с. : ил. — Пер. с англ. — ISBN 978-5-97060-135-8 .— URL: https://rucont.ru/efd/794527 (дата обращения: 04.04.2025)

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

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 в действии. / Пер. с англ. Киселев А. Н. – М.: ДМК Пресс, 2015. – 618 с.: ил. ISBN 978-5-97060-135-8 Фреймворк EJB 3 предоставляет стандартныий способ оформления прикладной логики в виде управляемых модулей, которые выполняются на стороне сервера, упрощая тем самым создание, сопровождение и расширение приложений Java EE. Версия EJB 3.2 включает большее число расширений и более тесно интегрируется с другими технологиями Java, такими как CDI, делая разработку еще проще. Книга знакомит читателя с EJB на многочисленных примерах кода, сценариях из реальной жизни и иллюстрациях. Помимо основ в ней описываются некоторые особенности внутренней реализации, наиболее эффективные приемы использования, шаблоны проектирования, даются советы по оптимизации производительности и различные способы доступа, включая веб-службы, службы REST и веб-сокеты. Издание предназначено программистам, уже знающим язык Java. Опыт работы с EJB или Java EE не требуется. УДК 004.455.2 ББК 32.973.41 Original English language edition published by Manning Publications Co., Rights and Contracts Special Sales Department, 20 Baldwin Road, PO Box 261, Shelter Island, NY 11964. ©2014 by Manning Publications Co.. Russian-language edition copyright © 2014 by DMK Press. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-93518-299-3 (англ.) ISBN 978-5-97060-135-8 (рус.) ©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

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


* - вычисляется автоматически