Class CachingDestinationResolverProxy<D>
java.lang.Object
org.springframework.messaging.core.CachingDestinationResolverProxy<D>
- Type Parameters:
D
- the destination type
- All Implemented Interfaces:
InitializingBean
,DestinationResolver<D>
public class CachingDestinationResolverProxy<D>
extends Object
implements DestinationResolver<D>, 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 (for example, 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
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.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()Description copied from interface:InitializingBean
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
- Specified by:
afterPropertiesSet
in interfaceInitializingBean
-
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
-