< prev index next >

jaxws/src/java.xml.ws.annotation/share/classes/javax/annotation/PreDestroy.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 28,51 **** import java.lang.annotation.*; import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.*; /** ! * The PreDestroy annotation is used on methods as a callback notification to ! * signal that the instance is in the process of being removed by the ! * container. The method annotated with PreDestroy is typically used to ! * release resources that it has been holding. This annotation MUST be ! * supported by all container managed objects that support PostConstruct ! * except the application client container in Java EE 5. The method on which ! * the PreDestroy annotation is applied MUST fulfill all of the following ! * criteria: * <ul> ! * <li>The method MUST NOT have any parameters except in the case of ! * interceptors in which case it takes an InvocationContext object as ! * defined by the Interceptors specification.</li> ! * <li>The method defined on an interceptor class MUST HAVE one of the ! * following signatures: * <p> * void <METHOD>(InvocationContext) * <p> * Object <METHOD>(InvocationContext) throws Exception * <p> --- 28,52 ---- import java.lang.annotation.*; import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.*; /** ! * The <code>PreDestroy</code> annotation is used on a method as a ! * callback notification to signal that the instance is in the ! * process of being removed by the container. The method annotated ! * with <code>PreDestroy</code> is typically used to ! * release resources that it has been holding. This annotation must be ! * supported by all container-managed objects that support the use of ! * the <code>PostConstruct</code> annotation except the Java EE application ! * client. The method on which the <code>PreDestroy</code> annotation ! * is applied must fulfill all of the following criteria: * <ul> ! * <li>The method must not have any parameters except in the case of ! * interceptors in which case it takes an <code>InvocationContext</code> ! * object as defined by the Interceptors specification.</li> ! * <li>The method defined on an interceptor class or superclass of an ! * interceptor class must have one of the following signatures: * <p> * void <METHOD>(InvocationContext) * <p> * Object <METHOD>(InvocationContext) throws Exception * <p>
*** 54,74 **** * the java.lang.Exception if the same interceptor method interposes on * business or timeout methods in addition to lifecycle events. If a * PreDestroy interceptor method returns a value, it is ignored by * the container.</i> * </li> ! * <li>The method defined on a non-interceptor class MUST HAVE the * following signature: * <p> * void <METHOD>() * </li> ! * <li>The method on which PreDestroy is applied MAY be public, protected, * package private or private.</li> ! * <li>The method MUST NOT be static.</li> ! * <li>The method MAY be final.</li> ! * <li>If the method throws an unchecked exception it is ignored except in the ! * case of EJBs where the EJB can handle exceptions.</li> * </ul> * * @see javax.annotation.PostConstruct * @see javax.annotation.Resource * @since 1.6, Common Annotations 1.0 --- 55,75 ---- * the java.lang.Exception if the same interceptor method interposes on * business or timeout methods in addition to lifecycle events. If a * PreDestroy interceptor method returns a value, it is ignored by * the container.</i> * </li> ! * <li>The method defined on a non-interceptor class must have the * following signature: * <p> * void <METHOD>() * </li> ! * <li>The method on which PreDestroy is applied may be public, protected, * package private or private.</li> ! * <li>The method must not be static.</li> ! * <li>The method should not be final.</li> ! * <li>If the method throws an unchecked exception it is ignored by ! * the container.</li> * </ul> * * @see javax.annotation.PostConstruct * @see javax.annotation.Resource * @since 1.6, Common Annotations 1.0
< prev index next >