Class BeanFactoryRefreshableTargetSource
- java.lang.Object
- org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
- org.springframework.aop.target.dynamic.BeanFactoryRefreshableTargetSource
- All Implemented Interfaces:
Refreshable
,TargetClassAware
,TargetSource
- Direct Known Subclasses:
RefreshableScriptTargetSource
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:
BeanFactory
,AbstractRefreshableTargetSource.requiresRefresh()
,AbstractRefreshableTargetSource.setRefreshCheckDelay(long)
Field Summary
Fields inherited from class org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
logger, targetObject
Constructor Summary
Constructors Constructor Description BeanFactoryRefreshableTargetSource(BeanFactory beanFactory, String beanName)
Create a new BeanFactoryRefreshableTargetSource for the given bean factory and bean name.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Object
freshTarget()
Retrieve a fresh target object.protected Object
obtainFreshBean(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.Methods inherited from class org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
getLastRefreshTime, getRefreshCount, getTarget, getTargetClass, isStatic, refresh, releaseTarget, requiresRefresh, setRefreshCheckDelay
Constructor Detail
BeanFactoryRefreshableTargetSource
public BeanFactoryRefreshableTargetSource(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 frombeanName
- the name of the target bean
Method Detail
freshTarget
protected final Object freshTarget()
Retrieve a fresh target object.- Specified by:
freshTarget
in classAbstractRefreshableTargetSource
- Returns:
- the fresh target object
obtainFreshBean
protected Object obtainFreshBean(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.