Package org.springframework.beans.factory

# Interface DisposableBean

All Known Implementing Classes:
  `AbstractFactoryBean`, `AbstractServiceLoaderBasedFactoryBean`, `BeanConfigurerSupport`, `ListFactoryBean`, `MapFactoryBean`, `ObjectFactoryCreatingFactoryBean`, `ProviderCreatingFactoryBean`, `ServiceFactoryBean`, `ServiceListFactoryBean`, `ServiceLoaderFactoryBean`, `SetFactoryBean`

public interface DisposableBean
Interface to be implemented by beans that want to release resources on destruction. A `BeanFactory` will invoke the destroy method on individual destruction of a scoped bean. An `org.springframework.context.ApplicationContext` is supposed to dispose all of its singletons on shutdown, driven by the application lifecycle.

A Spring-managed bean may also implement Java's `AutoCloseable` interface for the same purpose. An alternative to implementing an interface is specifying a custom destroy method, for example in an XML bean definition. For a list of all bean lifecycle methods, see the `BeanFactory javadocs`.

Since:
  12.08.2003
Author:
  Juergen Hoeller
See Also:
  - `InitializingBean`
  - `AbstractBeanDefinition.getDestroyMethodName()`
  - `ConfigurableBeanFactory.destroySingletons()`
  - `org.springframework.context.ConfigurableApplicationContext#close()`

## Method Summary

Modifier and Type
Method
Description
`void`
`destroy()`
Invoked by the containing `BeanFactory` on destruction of a bean.

## Method Details

### destroy

void destroy() throws Exception
Invoked by the containing `BeanFactory` on destruction of a bean.

Throws:
  `Exception` - in case of shutdown errors. Exceptions will get logged but not rethrown to allow other beans to release their resources as well.