Package org.springframework.aop.target
Class HotSwappableTargetSource
java.lang.Object
org.springframework.aop.target.HotSwappableTargetSource
- All Implemented Interfaces:
Serializable
,TargetClassAware
,TargetSource
TargetSource
implementation that
caches a local target object, but allows the target to be swapped
while the application is running.
If configuring an object of this class in a Spring IoC container, use constructor injection.
This TargetSource is serializable if the target is at the time of serialization.
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
-
Constructor Summary
ConstructorDescriptionHotSwappableTargetSource
(Object initialTarget) Create a new HotSwappableTargetSource with the given initial target object. -
Method Summary
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.aop.TargetSource
isStatic, releaseTarget
-
Constructor Details
-
HotSwappableTargetSource
Create a new HotSwappableTargetSource with the given initial target object.- Parameters:
initialTarget
- the initial target object
-
-
Method Details
-
getTargetClass
Return the type of the current target object.The returned type should usually be constant across all target objects.
- Specified by:
getTargetClass
in interfaceTargetClassAware
- Specified by:
getTargetClass
in interfaceTargetSource
- Returns:
- the type of targets returned by this
TargetSource
-
getTarget
Description copied from interface:TargetSource
Return a target instance. Invoked immediately before the AOP framework calls the "target" of an AOP method invocation.- Specified by:
getTarget
in interfaceTargetSource
- Returns:
- the target object which contains the joinpoint,
or
null
if there is no actual target instance
-
swap
Swap the target, returning the old target object.- Parameters:
newTarget
- the new target object- Returns:
- the old target object
- Throws:
IllegalArgumentException
- if the new target is invalid
-
equals
Two HotSwappableTargetSources are equal if the current target objects are equal. -
hashCode
public int hashCode() -
toString
-