软件包  javax.annotation

Annotation Type PreDestroy



  • @Documented
    @Retention(RUNTIME)
    @Target(METHOD)
    public @interface PreDestroy
    PreDestroy注释在方法上用作回调通知,表明实例正在被容器移除。 通过PreDestroy注释的方法通常用于释放其持有的资源。 除了Java EE 5中的应用程序客户端容器之外,所有支持PostConstruct的容器管理对象必须支持此注释。应用PreDestroy注释的方法必须满足以下所有条件:
    • 除了拦截器的情况下,该方法必须不具有任何参数,在这种情况下,它将接受由Interceptor规范定义的InvocationContext对象。
    • 在拦截器类上定义的方法必须具有以下签名之一:

      void <METHOD>(InvocationContext)

      Object <METHOD>(InvocationContext)抛出异常

      注意:PreDestroy拦截器方法不能抛出应用程序异常,但是除了生命周期事件之外,如果相同的拦截器方法在业务或超时方法上插入,则可能会声明抛出检查的异常,包括java.lang.Exception。 如果PreDestroy拦截器方法返回一个值,容器将被忽略。

    • 在非拦截器类上定义的方法必须具有以下签名:

      void <METHOD>()

    • PreDestroy应用的方法可能是公共的,受保护的,私有的或私有的。
    • 该方法不能是静态的。
    • 该方法可能是最终的。
    • 如果该方法抛出未经检查的异常,则忽略它,除非EJB可以处理异常的EJB。
    从以下版本开始:
    1.6,通用注释1.0
    另请参见:
    PostConstructResource