< 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 >