protected void destroyBean ( final BeanData beanData ) { if ( destroyableBeans == null ) { return ; } if ( ! isBeanDestroyable ( beanData ) ) { return ; } if ( destroyableBeans . remove ( beanData ) ) { beanData . callDestroyMethods ( ) ; } }
Removes destroyable bean from the list and calls it destroy methods . If bean is not destroyable does nothing . Bean gets destroyed only once .