org.springframework.beans.factory.access
Interface BeanFactoryReference

All Known Implementing Classes:
ContextBeanFactoryReference

public interface BeanFactoryReference

Used to track a reference to a BeanFactory obtained through a BeanFactoryLocator.

It is safe to call release() multiple times, but getFactory() must not be called after calling release.

Author:
Colin Sampaleanu
See Also:
BeanFactoryLocator, ContextBeanFactoryReference

Method Summary
 BeanFactory getFactory()
          Return the BeanFactory instance held by this reference.
 void release()
          Indicate that the BeanFactory instance referred to by this object is not needed any longer by the client code which obtained the BeanFactoryReference.
 

Method Detail

getFactory

BeanFactory getFactory()
Return the BeanFactory instance held by this reference.

Throws:
IllegalStateException - if invoked after release() has been called

release

void release()
             throws FatalBeanException
Indicate that the BeanFactory instance referred to by this object is not needed any longer by the client code which obtained the BeanFactoryReference.

Depending on the actual implementation of BeanFactoryLocator, and the actual type of BeanFactory, this may possibly not actually do anything; alternately in the case of a 'closeable' BeanFactory or derived class (such as ApplicationContext) may 'close' it, or may 'close' it once no more references remain.

In an EJB usage scenario this would normally be called from ejbRemove() and ejbPassivate().

This is safe to call multiple times.

Throws:
FatalBeanException - if the BeanFactory cannot be released
See Also:
BeanFactoryLocator, ContextBeanFactoryReference, ConfigurableApplicationContext.close()