Interface DestructionAwareBeanPostProcessor

All Superinterfaces:
BeanPostProcessor
All Known Implementing Classes:
CommonAnnotationBeanPostProcessor, InitDestroyAnnotationBeanPostProcessor, PersistenceAnnotationBeanPostProcessor, ScheduledAnnotationBeanPostProcessor, SimpleServletPostProcessor

public interface DestructionAwareBeanPostProcessor extends BeanPostProcessor
Subinterface of BeanPostProcessor that adds a before-destruction callback.

The typical usage will be to invoke custom destruction callbacks on specific bean types, matching corresponding initialization callbacks.

Since:
1.0.1
Author:
Juergen Hoeller
  • Method Details

    • postProcessBeforeDestruction

      void postProcessBeforeDestruction(Object bean, String beanName) throws BeansException
      Apply this BeanPostProcessor to the given bean instance before its destruction, e.g. invoking custom destruction callbacks.

      Like DisposableBean's destroy and a custom destroy method, this callback will only apply to beans which the container fully manages the lifecycle for. This is usually the case for singletons and scoped beans.

      Parameters:
      bean - the bean instance to be destroyed
      beanName - the name of the bean
      Throws:
      BeansException - in case of errors
      See Also:
    • requiresDestruction

      default boolean requiresDestruction(Object bean)
      Determine whether the given bean instance requires destruction by this post-processor.

      The default implementation returns true. If a pre-5 implementation of DestructionAwareBeanPostProcessor does not provide a concrete implementation of this method, Spring silently assumes true as well.

      Parameters:
      bean - the bean instance to check
      Returns:
      true if postProcessBeforeDestruction(java.lang.Object, java.lang.String) is supposed to be called for this bean instance eventually, or false if not needed
      Since:
      4.3