パッケージ jakarta.annotation

アノテーションインターフェース PreDestroy


@DocumentedSE @RetentionSE(RUNTIMESE) @TargetSE(METHODSE) public @interface PreDestroy
PreDestroy アノテーションは、インスタンスがコンテナーによって削除されている最中であることを通知するコールバック通知としてメソッドで使用されます。PreDestroy アノテーションが付けられたメソッドは、通常、保持していたリソースを解放するために使用されます。このアノテーションは、Jakarta EE アプリケーションクライアントを除いて、PostConstruct アノテーションの使用をサポートするすべてのコンテナー管理オブジェクトによってサポートされる必要があります。PreDestroy アノテーションが適用されるメソッドは、以下の条件をすべて満たしている必要があります。
  • メソッドは、インターセプターの場合を除いて、パラメーターを持ってはなりません。インターセプターの場合、Jakarta Interceptors 仕様で定義されている InvocationContext オブジェクトを取ります。
  • インターセプタークラスまたはインターセプタークラスのスーパークラスで定義されたメソッドには、次のいずれかのシグネチャーが必要です。

    void <METHOD>(InvocationContext)

    Object <METHOD>(InvocationContext) throws Exception

    メモ: PreDestroy インターセプターメソッドはアプリケーション例外をスローすることはできませんが、ライフサイクルイベントに加えて同じインターセプターメソッドがビジネスメソッドまたはタイムアウトメソッドに介入する場合は、java.lang.Exception を含むチェック例外をスローするように宣言できます。PreDestroy インターセプターメソッドが値を返す場合、その値はコンテナーによって無視されます。

  • 非インターセプタークラスで定義されたメソッドには、次のシグネチャーが必要です。

    void <METHOD>()

  • PreDestroy が適用されるメソッドは、public、protected、package private、private のいずれかです。
  • メソッドは静的であってはなりません。
  • メソッドは final であってはなりません。
  • メソッドが未チェックの例外をスローした場合、コンテナーによって無視されます。
導入:
1.6、共通のアノテーション 1.0
関連事項: