Рассматриваемые темы EJB Timer сервис Создание таймера Отмена и сохранение таймера Получение информации о таймере Транзакции и таймеры 11-1.

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



Advertisements
Похожие презентации
Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-1.
Advertisements

EJB Local Interface Кряжев Василий
Рассматриваемые темы Подсистема безопасности сервера приложений Конфигурация безопасности в EJB Сервисы авторизации и аутентификации в Java 2-1.
Исключения в EJB Кряжев Василий
Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB- приложения 2-1.
Рассматриваемые темы Введение в Web Services EJB и Web Services 2-1.
EJB Environment Кряжев Василий
А.В.Гаврилов НГТУ, кафедра АППМ 1 Информатика семестр 2 Лекция 2 (Продолжение)
Особенности C# Индексаторы, события, частичные методы, расширяющие методы, сборщик мусора DraggonZ.
Лекция 3. Исключения и прерывания в встроенных системах.
Enterprise Java Beans For students of universities Author: Oxana Dunik.
"Составление циклических алгоритмов". Структура ЦИКЛ используется при составлении алгоритмов, в которых необходимо многократно повторять какие- либо действия.
Interceptors Василий Кряжев
ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.
Ресурсы WPF Два типа ресурсов WPF: объектные ресурсы (object resource) – определенный.NET-объект, который можно использовать многократно; ресурсы сборки.
Applets Inna Issajeva. Апплеты это маленькие приложения, которые размещаются на серверах Internet, транспортируются клиенту по сети, автоматически устанавливаются.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Тема: «Таймер. Программа Часики». Цели урока: помочь учащимся в создании проекта «Часики» на языке Visual Basic. воспитание информационной культуры учащихся,
Статические поля класса Статические поля хранят данные, общие для всех элементов класса. Статическое поле существует в единственном экземпляре для всех.
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
Транксрипт:

Рассматриваемые темы EJB Timer сервис Создание таймера Отмена и сохранение таймера Получение информации о таймере Транзакции и таймеры 11-1

EJB Timer сервис Таймеры используются для запуска определенного обработчика по определенному во времени событию Таймеры могут срабатывать: В конкретно определенное время (10:00 01 января 2010 года) По прошествии определенного времени (через 30 минут) Через определенные интервалы времени (каждые 12 часов) Использование таймеров в EJB 11-2

EJB Timer сервис При срабатывании таймера контейнер вызывает метод с Метод должен: Возвращать void ; Принимать параметр типа Timer Не иметь каких-либо public void timeout(Timer timer) { System.out.println("Timeout!"); } Метод Timeout 11-3

Рассматриваемые темы EJB Timer сервис Создание таймера Работа с таймерами Транзакции и таймеры 11-4

Создание таймера Для создания таймера используются методы интерфейса TimerService Экземпляр интерфейса TimerService получают с помощью Dependency TimerService timerService; Интерфейс TimerService 11-5

Создание таймера Для создания таймера используются методы createTimer интерфейса TimerService createTimer(long, Serializable) createTimer(long, long, Serializable) createTimer(Date, Serializable) createTimer(Date, long, Serializable) Timer t = timerService. createTimer(1000L, "Timer"); Методы для создания таймера 11-6

Создание таймера Если сервер завершает работу (или падает), таймеры сохраняются и вновь активируются после поднятия сервера Если таймаут истекает в то время, как сервер выключен, таймер сработает при запуске сервера Хотя при создании таймера время указывается в миллисекундах, такая точность не гарантируется контейнером Таймеры устойчивы 11-7

Рассматриваемые темы EJB Timer сервис Создание таймера Работа с таймерами Транзакции и таймеры 11-8

Работа с таймерами Таймеры могут быть отменены: В случае одноразового таймера, контейнер отменяет таймер сразу после вызова метода Timeout В случае вызова метода cancel интерфейса Timer В случае вызова этого метода на уже отмененном таймере, выбрасывается исключение javax.ejb.NoSuchObjectLocalException Отмена таймеров 11-9

Работа с таймерами Таймер может быть сохранен Для этого получают объект TimerHandle с помощью метода Timer.getHandle Этот объект может быть сохранен в БД Для восстановления таймера используется TimerHandle.getTimer Объект TimerHandle не может быть использован удаленными компонентами Сохранение таймеров 11-10

Работа с таймерами Следующие методы интерфейса Timer используются для получения информации о таймере: long getTimeRemaining() Date getNextTimeout() Serializable getInfo() Для получения информации обо всех активных таймерах в bean'е, используется TimerService.getTimers() Получение информации о таймере 11-11

Рассматриваемые темы EJB Timer сервис Создание таймера Работа с таймерами Транзакции и таймеры 11-12

Транзакции и таймеры Обычно создание таймера производится в контексте транзакции Если транзакция откатывается, создание таймера также отменяется Аналогично при отмене таймера внутри транзакции при откате последней отмена таймера так же откатывается В этом случае время таймера сбрасывается как если бы отмены таймера не происходило Использование транзакций 11-13

Транзакции и таймеры В случае контейнерных (container- managed) транзакций метод с аннотацией Timeout по умолчанию имеет атрибут транзакции Required или RequiresNew Это необходимо для обеспечения целостности данных В этом случае контейнер создает новую транзакцию перед вызовом метода Timeout Контейнерные транзакции 11-14

Рассмотренные темы EJB Timer сервис Создание таймера Работа с таймерами Транзакции и таймеры 11-15

Практика Использование таймера в EJB-приложении. Упражнение 11-16