- All Implemented Interfaces:
TargetSourceuses 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,
DisposableBean.destroy() method if available.
Be aware that many thread-bound objects can be around until the application
actually shuts down.
Method SummaryModifier and TypeMethodDescription
destroy()Dispose of targets if necessary; clear ThreadLocal.
intReturn the number of hits that were satisfied by a thread-bound object.
intReturn the number of client invocations.
intReturn the number of thread-bound objects created.Return an introduction advisor mixin that allows the AOP proxy to be cast to ThreadLocalInvokerStats.Implementation of abstract getTarget() method.
Methods inherited from class org.springframework.aop.target.AbstractPrototypeBasedTargetSource
destroyPrototypeInstance, newPrototypeInstance, setBeanFactory, writeReplace
Methods inherited from class org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource
copyFrom, equals, getBeanFactory, getTargetBeanName, getTargetClass, hashCode, isStatic, releaseTarget, setTargetBeanName, setTargetClass, toString
getTargetImplementation of abstract getTarget() method. We look for a target held in a ThreadLocal. If we don't find one, we create one and bind it to the thread. No synchronization is required.
destroypublic void destroy()Dispose of targets if necessary; clear ThreadLocal.
- Specified by:
- See Also:
getInvocationCountpublic int getInvocationCount()Return the number of client invocations.
getHitCountpublic int getHitCount()Return the number of hits that were satisfied by a thread-bound object.
getObjectCountpublic int getObjectCount()Return the number of thread-bound objects created.
getStatsMixinpublic IntroductionAdvisor getStatsMixin()Return an introduction advisor mixin that allows the AOP proxy to be cast to ThreadLocalInvokerStats.