public class ThreadLocalTargetSource extends AbstractPrototypeBasedTargetSource implements ThreadLocalTargetSourceStats, DisposableBean
TargetSource
 uses a threading model in which every thread has its own copy of the target.
 There's no contention for targets. Target object creation is kept to a minimum
 on the running server.
 Application code is written as to a normal pool; callers can't assume they will be dealing with the same instance in invocations in different threads. However, state can be relied on during the operations of a single thread: for example, if one caller makes repeated calls on the AOP proxy.
Cleanup of thread-bound objects is performed on BeanFactory destruction,
 calling their DisposableBean.destroy() method if available.
 Be aware that many thread-bound objects can be around until the application
 actually shuts down.
ThreadLocalTargetSourceStats, 
DisposableBean.destroy(), 
Serialized Formlogger| Constructor and Description | 
|---|
ThreadLocalTargetSource()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
destroy()
Dispose of targets if necessary; clear ThreadLocal. 
 | 
int | 
getHitCount()
Return the number of hits that were satisfied by a thread-bound object. 
 | 
int | 
getInvocationCount()
Return the number of client invocations. 
 | 
int | 
getObjectCount()
Return the number of thread-bound objects created. 
 | 
IntroductionAdvisor | 
getStatsMixin()
Return an introduction advisor mixin that allows the AOP proxy to be
 cast to ThreadLocalInvokerStats. 
 | 
Object | 
getTarget()
Implementation of abstract getTarget() method. 
 | 
destroyPrototypeInstance, newPrototypeInstance, setBeanFactory, writeReplacecopyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, isStatic, releaseTarget, setTargetBeanName, setTargetClass, toStringpublic Object getTarget() throws BeansException
getTarget in interface TargetSourcenull if there is no actual target instanceBeansExceptionpublic void destroy()
destroy in interface DisposableBeanAbstractPrototypeBasedTargetSource.destroyPrototypeInstance(java.lang.Object)public int getInvocationCount()
ThreadLocalTargetSourceStatsgetInvocationCount in interface ThreadLocalTargetSourceStatspublic int getHitCount()
ThreadLocalTargetSourceStatsgetHitCount in interface ThreadLocalTargetSourceStatspublic int getObjectCount()
ThreadLocalTargetSourceStatsgetObjectCount in interface ThreadLocalTargetSourceStatspublic IntroductionAdvisor getStatsMixin()