Исключения в EJB Кряжев Василий VKryazhev@luxoft.com.

Презентация:



Advertisements
Похожие презентации
Interceptors Василий Кряжев
Advertisements

Saint Petersburg, 2011 Java Lecture #06 Exceptions.
EJB Environment Кряжев Василий
EJB Local Interface Кряжев Василий
Session beans Василий Кряжев
Обработка исключительных ситуаций. Синтаксис try{ операторы0; } catch (ТипИсключения1 переменная1){ операторы1; } catch (ТипИсключения2 переменная2){
Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB- приложения 2-1.
Исключения в Java. Исключения – это механизм взаимодействия между кодом, приведшим к ошибке, и кодом, обрабатывающим ошибку Исключение выбрасывается (throw),
Test 6 Вопрос 1. Как можно уничтожить объект в Java? a)присвоить null всем ссылкам на объект b)вызвать Runtime.getRuntime().gc() c)вызвать метод finalize()
Кафедра ОСУ, Java 2004 Обработка исключений В Java обработка исключительных ситуаций (exception handling) происходит следующим образом: Либо.
Message-Driven Beans Василий Кряжев
Java SE: основные понятия Борис Кварцхава
Обработка исключительных ситуаций Андрей Дмитриев 2008.
Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 1 Основы программирования на языке Java Обработка исключений.
1 Обработка исключений в Java Одно из важнейших преимуществ Java – разработанный на уровне языка механизм обработки исключений. Исключение в Java - это.
Часть 1. Основы ООП Исключения.. Структурный подход Неисправимые ошибки – вывести информацию и умереть. Исправимые ошибки – уведомить вызывающую.
Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-1.
Рассматриваемые темы Подсистема безопасности сервера приложений Конфигурация безопасности в EJB Сервисы авторизации и аутентификации в Java 2-1.
Рассматриваемые темы EJB Timer сервис Создание таймера Отмена и сохранение таймера Получение информации о таймере Транзакции и таймеры 11-1.
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
Транксрипт:

Исключения в EJB Кряжев Василий

Рассматриваемые темы Обзор исключений в Java Исключения в EJB 1-2

Рассматриваемые темы Обзор исключений в Java Проверяемые исключения Непроверяемые исключения Исключения в EJB 1-3

Проверяемые исключения За обработкой проверяемых (checked) исключений следит компилятор. Правило обработай или объяви Код помещен в блок try catch Сигнатура метода содержит блок throws 1-4

Непроверяемые исключения За обработкой непроверяемых (unchecked) исключений компилятор не следит java.lang.RuntimeException java.lang.Error 1-5

Рассматриваемые темы Обзор исключений в Java Исключения в EJB Системные исключения (system exceptions) Исключения уровня приложения (application exceptions) Выбрасывание и обработка исключений 1-6

Типы исключений в EJB Системные исключения (system exceptions) Исключения уровня приложения (application exceptions) 1-7

System Exception Системные исключения идентифицируют ошибки на уровне инфрастуктуры java.rmi.RemoteException java.lang.RuntimeException не помеченные как ошибки уровня приложения (application exceptions) 1-8

Application Exception Исключения уровня приложения идентифицируют что произошла ошибка бизнес логики Часть дизайна приложения, доставляются клиенту как есть Могут быть как проверяемые так и непроверяемые, помечаются или через в дескрипторе развертывания 1-9

ApplicationException { boolean rollback() default false; (rollback = true) public class BadCommentsException extends RuntimeException { public BadCommentsException(String message) { super(message); } Декларирование на основе аннотации: 1-10

Application Exception … java.lang.NullPointerException true Декларирование в дескрипторе развертывания: 1-11 ejb-jar.xml

System Exceptions Откатывает транзакцию Журналирует сообщение об ошибке Уничтожает bean instance Возвращает клиенту подкласс javax.ejb.EJBException или java.rmi.RemoteException Контейнер автоматически обрабатывает системные исключения и всегда: 1-12

Выбрасывание исключения уровня приложения Гарантировать что состояние bean instance останется целостным. Попытка клиента продолжить работу не должна приводить к потере целостности Если для application exception условие отката транзакции не было определено, то перед тем как бросить исключение, нужно пометить транзакцию для отката EJBContext.setRollbackOnly Ответственность Bean Provider: 1-13

Обработка исключений уровня приложения Поймав application exception клиент может продолжить вызывать методы бина Транзакционный клиент может узнать помечена ли транзакция для отката Если клиент это enterprise bean, то можно вызвать EJBContext.getRollbackOnly Другие типы клиентов могут воспользоваться UserTransaction.getStatus 1-14

Лабораторная EJB Exception Handling 1-15

Выводы Модель обработки исключений в EJB Чем отличаются системные исключениями от исключений уровня приложения Как использовать чтобы контролировать обработку исключений в EJB Как контролировать транзакционное поведение при возникновении исключений В этом модуле, мы узнали: 1-16

Недоделки Не выдержан темп Большие заголовки и отсутствие подзаголовков Добавить - жизненный сценарий в качестве иллюстрации и подробный разбор 1-17