Save This Page
Home » spring-framework-2.5.5-with-dependencies » org.springframework » aop » target » [javadoc | source]
org.springframework.aop.target
public class: ThreadLocalTargetSource [javadoc | source]
java.lang.Object
   org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource
      org.springframework.aop.target.AbstractPrototypeBasedTargetSource
         org.springframework.aop.target.ThreadLocalTargetSource

All Implemented Interfaces:
    DisposableBean, ThreadLocalTargetSourceStats, TargetSource, BeanFactoryAware, Serializable

Alternative to an object pool. This 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.

Fields inherited from org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource:
logger
Method from org.springframework.aop.target.ThreadLocalTargetSource Summary:
destroy,   getHitCount,   getInvocationCount,   getObjectCount,   getStatsMixin,   getTarget
Methods from org.springframework.aop.target.AbstractPrototypeBasedTargetSource:
destroyPrototypeInstance,   newPrototypeInstance,   setBeanFactory
Methods from org.springframework.aop.target.AbstractBeanFactoryBasedTargetSource:
copyFrom,   equals,   getBeanFactory,   getTargetBeanName,   getTargetClass,   hashCode,   isStatic,   releaseTarget,   setBeanFactory,   setTargetBeanName,   setTargetClass,   toString,   writeReplace
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.springframework.aop.target.ThreadLocalTargetSource Detail:
 public  void destroy() 
    Dispose of targets if necessary; clear ThreadLocal.
 public int getHitCount() 
 public int getInvocationCount() 
 public int getObjectCount() 
 public IntroductionAdvisor getStatsMixin() 
    Return an introduction advisor mixin that allows the AOP proxy to be cast to ThreadLocalInvokerStats.
 public Object getTarget() throws BeansException 
    Implementation 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.