Class CachingDestinationResolverProxy<D>
- java.lang.Object
- org.springframework.messaging.core.CachingDestinationResolverProxy<D>
- All Implemented Interfaces:
InitializingBean,DestinationResolver<D>
public class CachingDestinationResolverProxy<D> extends Object implements DestinationResolver<D>, InitializingBean
DestinationResolverimplementation that proxies a target DestinationResolver, caching itsresolveDestination(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:
DestinationResolver.resolveDestination(java.lang.String)
Constructor Summary
Constructors Constructor Description CachingDestinationResolverProxy()Create 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()Invoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.DresolveDestination(String name)Resolves and caches destinations if successfully resolved by the target DestinationResolver implementation.voidsetTargetDestinationResolver(DestinationResolver<D> targetDestinationResolver)Set the target DestinationResolver to delegate to.
Constructor Detail
CachingDestinationResolverProxy
public CachingDestinationResolverProxy()
Create a new CachingDestinationResolverProxy, setting the target DestinationResolver through thesetTargetDestinationResolver(org.springframework.messaging.core.DestinationResolver<D>)bean property.
CachingDestinationResolverProxy
public CachingDestinationResolverProxy(DestinationResolver<D> targetDestinationResolver)
Create a new CachingDestinationResolverProxy using the given target DestinationResolver to actually resolve destinations.- Parameters:
targetDestinationResolver- the target DestinationResolver to delegate to
Method Detail
setTargetDestinationResolver
public void setTargetDestinationResolver(DestinationResolver<D> targetDestinationResolver)
Set the target DestinationResolver to delegate to.
afterPropertiesSet
public void afterPropertiesSet()
Description copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.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:
afterPropertiesSetin interfaceInitializingBean
resolveDestination
public D resolveDestination(String name) throws DestinationResolutionException
Resolves and caches destinations if successfully resolved by the target DestinationResolver implementation.- Specified by:
resolveDestinationin 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