Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
ПРЕДЫДУЩИЙ ПАКЕТ ПАКЕТ NEXT | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ |
См.:
Описание
Сводка интерфейса | |
---|---|
InvocationContext | Представляет контекстную информацию о прерванном вызове и операциях, которые позволяют методам перехватчика управлять поведением цепочки вызова. |
Аннотация Вводит Сводку | |
---|---|
AroundInvoke | Определяет метод перехватчика, который вмешивается на бизнес-методах. |
AroundTimeout | Определяет метод перехватчика, который вмешивается на методах тайм-аута. |
ExcludeClassInterceptors | Используемый, чтобы исключить class уровни перехватчики для бизнес-метода или метода тайм-аута целевого class. |
ExcludeDefaultInterceptors | Используемый, чтобы исключить перехватчики значения по умолчанию для целевого class или для бизнес-метода или метода тайм-аута целевого class. |
Перехватчик | Определяет, что class является перехватчиком. |
InterceptorBinding | Определяет, что тип аннотации является типом привязки перехватчика. |
Перехватчики | Объявляет упорядоченный список перехватчиков для целевого class или метода целевого class. |
Содержит аннотации и интерфейсы для того, чтобы определить методы перехватчика, классы перехватчика и для обязательных классов перехватчика, чтобы предназначаться для классов.
Метод перехватчика может быть определен на целевом class непосредственно или на перехватчике class, связанный с целевым class.
Есть три вида метода перехватчика:
@PostConstruct
и @PreDestroy
обратные вызовы управляемых бобов и компонентов EJB и для @PrePassivate
и @PostActivate
методы EJB stateful бобы сеанса.Метод перехватчика может быть определен, аннотируя метод, или используя дескриптор развертывания EJB. Методы перехватчика не могут быть объявлены static или final.
У перехватчика class или целевой class могут быть многократные методы перехватчика. Однако, у перехватчика class или целевой class может быть не больше, чем один метод перехватчика для определенного типа перехвата: AroundInvoke
, AroundTimeout
, PostConstruct
, PreDestroy
, PrePassivate
или PostActivate
.
class перехватчика является class (отличный от целевого class), чьи методы вызываются в ответ на вызовы и/или события жизненного цикла на целевом class. Любое число классов перехватчика может быть связано с целевым class.
У перехватчика class должен быть общедоступный конструктор без параметров.
Классы перехватчика могут быть аннотированы @Interceptor
, но это не требуется когда @Interceptors
или дескриптор развертывания EJB используется, чтобы связать перехватчик с его целевыми классами.
Классы перехватчика целевого class или метод целевого class могут быть определены несколькими способами:
@Interceptors
и определяя перехватчик class.Любой перехватчик class может быть определен, чтобы примениться к целевому class на уровне class. В случае перехватчиков метода перехватчик применяется ко всем методам целевого class. В случае перехватчиков метода тайм-аута перехватчик применяется ко всем методам тайм-аута целевого class.
@ExcludeClassInterceptors
или дескриптор развертывания EJB может использоваться, чтобы исключить вызов перехватчиков уровня class для метода целевого class.
Перехватчик метода может быть определен, чтобы применяться только к определенному методу целевого class. Аналогично, перехватчик метода тайм-аута может быть определен, чтобы применяться только к определенному методу тайм-аута целевого class. Однако, если перехватчик, class, который определяет методы перехватчика обратного вызова жизненного цикла, определяется, чтобы примениться к целевому class на уровне метода, методы перехватчика обратного вызова жизненного цикла, не вызывается.
Перехватчики значения по умолчанию могут быть определены, чтобы примениться к ряду целевых классов, используя дескриптор развертывания EJB. Перехватчики значения по умолчанию вызываются перед любыми другими перехватчиками для целевого class. Дескриптор развертывания EJB может использоваться, чтобы определить альтернативные упорядочивания.
@ExcludeDefaultInterceptors
или дескриптор развертывания EJB может использоваться, чтобы исключить вызов перехватчиков значения по умолчанию для целевого class или метода целевого class.
Жизненный цикл экземпляра перехватчика является тем же самым как тем из целевого экземпляра class, с которым это связывается. Когда целевой экземпляр создается, соответствующий экземпляр перехватчика создается для каждого связанного перехватчика class. Эти экземпляры перехватчика уничтожаются, когда целевой экземпляр уничтожается.
И экземпляр перехватчика и целевой экземпляр создаются перед любым @PostConstruct
обратные вызовы вызываются. Любой @PreDestroy
обратные вызовы вызываются перед разрушением или целевого экземпляра или экземпляра перехватчика.
Экземпляр перехватчика может содержать состояние. Экземпляр перехватчика может быть целью внедрения зависимости. Внедрение зависимости выполняется, когда экземпляр перехватчика создается, используя контекст именования связанного целевого class. @PostConstruct
метод обратного вызова перехватчика вызывается после того, как это внедрение зависимости имело место и на экземплярах перехватчика и на целевом экземпляре.
Перехватчик class совместно использует контекст именования предприятия своего связанного целевого class. Аннотации и/или элементы дескриптора развертывания XML для внедрения зависимости или для прямого поиска JNDI относятся к этому совместно используемому контексту именования.
Метод перехватчика обратного вызова жизненного цикла является незаключительным, нестатическим методом с типом возврата void целевого class (или суперкласс) или любого перехватчика class. У метода перехватчика обратного вызова жизненного цикла, объявленного целевым class (или суперкласс), не должно быть никаких параметров. У метода перехватчика обратного вызова жизненного цикла, объявленного перехватчиком class, должен быть единственный параметр типа InvocationContext
.
@PostConstruct public void interceptPostConstruct(InvocationContext ctx) { ... }
Единственный метод перехватчика обратного вызова жизненного цикла может использоваться, чтобы вмешаться на многократных событиях обратного вызова.
@PostConstruct @PreDestroy public void interceptLifecycle(InvocationContext ctx) { ... }
class, возможно, не объявляет больше чем один метод перехватчика обратного вызова жизненного цикла для определенного события жизненного цикла.
Вызовы метода перехватчика обратного вызова жизненного цикла происходят в пределах неуказанной транзакции и контекстов защиты.
Методы перехватчика обратного вызова жизненного цикла могут бросить исключения на этапе выполнения, но не проверенные исключения.
AroundInvoke
, AroundTimeout
, Interceptors
, InvocationContext
|
|||||||||
ПРЕДЫДУЩИЙ ПАКЕТ ПАКЕТ NEXT | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ |
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41