Class CachingDestinationResolverProxy<D>
java.lang.Object
org.springframework.messaging.core.CachingDestinationResolverProxy<D>
- Type Parameters:
D
- the destination type
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
,DestinationResolver<D>
public class CachingDestinationResolverProxy<D>
extends Object
implements DestinationResolver<D>, org.springframework.beans.factory.InitializingBean
DestinationResolver
implementation that proxies a target DestinationResolver,
caching its resolveDestination(java.lang.String)
results. Such caching is particularly useful
if the destination resolving process is expensive (e.g. the destination has to be
resolved through an external system) and the resolution results are stable anyway.- Since:
- 4.1
- Author:
- Agim Emruli, Juergen Hoeller
- See Also:
-
Constructor Summary
ConstructorDescriptionCreate a new CachingDestinationResolverProxy, setting the target DestinationResolver through thesetTargetDestinationResolver(org.springframework.messaging.core.DestinationResolver<D>)
bean property.CachingDestinationResolverProxy
(DestinationResolver<D> targetDestinationResolver) Create a new CachingDestinationResolverProxy using the given target DestinationResolver to actually resolve destinations. -
Method Summary
Modifier and TypeMethodDescriptionvoid
resolveDestination
(String name) Resolves and caches destinations if successfully resolved by the target DestinationResolver implementation.void
setTargetDestinationResolver
(DestinationResolver<D> targetDestinationResolver) Set the target DestinationResolver to delegate to.
-
Constructor Details
-
CachingDestinationResolverProxy
public CachingDestinationResolverProxy()Create a new CachingDestinationResolverProxy, setting the target DestinationResolver through thesetTargetDestinationResolver(org.springframework.messaging.core.DestinationResolver<D>)
bean property. -
CachingDestinationResolverProxy
Create a new CachingDestinationResolverProxy using the given target DestinationResolver to actually resolve destinations.- Parameters:
targetDestinationResolver
- the target DestinationResolver to delegate to
-
-
Method Details
-
setTargetDestinationResolver
Set the target DestinationResolver to delegate to. -
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
resolveDestination
Resolves and caches destinations if successfully resolved by the target DestinationResolver implementation.- Specified by:
resolveDestination
in interfaceDestinationResolver<D>
- Parameters:
name
- the destination name to be resolved- Returns:
- the currently resolved destination or an already cached destination
- Throws:
DestinationResolutionException
- if the target DestinationResolver reports an error during destination resolution
-