public interface DestructionAwareBeanPostProcessor extends BeanPostProcessor
BeanPostProcessor
のサブインターフェース。典型的な使用箇所は、特定の Bean 型でカスタム破棄コールバックを呼び出し、対応する初期化コールバックを一致させることです。
修飾子と型 | メソッドと説明 |
---|---|
void | postProcessBeforeDestruction(ObjectSE bean, StringSE beanName) 破棄する前に、この BeanPostProcessor を指定の Bean インスタンスに適用します。 |
boolean | requiresDestruction(ObjectSE bean) 指定された Bean インスタンスがこのポストプロセッサーによる破棄を必要とするかどうかを判断します。 |
postProcessAfterInitialization, postProcessBeforeInitialization
void postProcessBeforeDestruction(ObjectSE bean, StringSE beanName) throws BeansException
DisposableBean の destroy
およびカスタムの destroy メソッドと同様に、このコールバックはファクトリ内のシングルトン Bean(内部 Bean を含む)にのみ適用されます。
bean
- 破棄される Bean インスタンス beanName
- Bean の名前 BeansException
- エラーの場合 DisposableBean
, AbstractBeanDefinition.setDestroyMethodName(java.lang.String)
boolean requiresDestruction(ObjectSE bean)
注 : 最近追加されたものとしても、この方法は SmartDABPP サブインターフェースではなく DestructionAwareBeanPostProcessor
自体に導入されています。これにより、Spring <4.3 との互換性を維持しながら、既存の DestructionAwareBeanPostProcessor
実装で requiresDestruction
ロジックを簡単に提供できます。また、requiresDestruction
を Spring 5 の Java 8 デフォルトメソッドとして宣言することも簡単です。
DestructionAwareBeanPostProcessor
の実装がこのメソッドの具体的な実装を提供しない場合、Spring の呼び出しメカニズムは、true
(4.3 の前の有効なデフォルト、および Spring 5 の Java 8 メソッドのデフォルトになる)を返すメソッドを暗黙的に想定します。
bean
- チェックする Bean インスタンス postProcessBeforeDestruction(java.lang.Object, java.lang.String)
が最終的にこの Bean インスタンスのために呼び出されることになっている場合は true
、または不要な場合は false