Class BeanFactoryRefreshableTargetSource

java.lang.Object
org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
org.springframework.aop.target.dynamic.BeanFactoryRefreshableTargetSource
All Implemented Interfaces:
Refreshable, TargetClassAware, TargetSource

public class BeanFactoryRefreshableTargetSource extends AbstractRefreshableTargetSource
Refreshable TargetSource that fetches fresh target beans from a BeanFactory.

Can be subclassed to override requiresRefresh() to suppress unnecessary refreshes. By default, a refresh will be performed every time the "refreshCheckDelay" has elapsed.

Since:
2.0
Author:
Rob Harrop, Rod Johnson, Juergen Hoeller, Mark Fisher
See Also:
  • Constructor Details

    • BeanFactoryRefreshableTargetSource

      public BeanFactoryRefreshableTargetSource(org.springframework.beans.factory.BeanFactory beanFactory, String beanName)
      Create a new BeanFactoryRefreshableTargetSource for the given bean factory and bean name.

      Note that the passed-in BeanFactory should have an appropriate bean definition set up for the given bean name.

      Parameters:
      beanFactory - the BeanFactory to fetch beans from
      beanName - the name of the target bean
  • Method Details

    • freshTarget

      protected final Object freshTarget()
      Retrieve a fresh target object.
      Specified by:
      freshTarget in class AbstractRefreshableTargetSource
      Returns:
      the fresh target object
    • obtainFreshBean

      protected Object obtainFreshBean(org.springframework.beans.factory.BeanFactory beanFactory, String beanName)
      A template method that subclasses may override to provide a fresh target object for the given bean factory and bean name.

      This default implementation fetches a new target bean instance from the bean factory.

      See Also:
      • BeanFactory.getBean(java.lang.String)