org.springframework.jms.support.destination
Class BeanFactoryDestinationResolver

java.lang.Object
  extended by org.springframework.jms.support.destination.BeanFactoryDestinationResolver
All Implemented Interfaces:
BeanFactoryAware, DestinationResolver

public class BeanFactoryDestinationResolver
extends Object
implements DestinationResolver, BeanFactoryAware

DestinationResolver implementation based on a Spring BeanFactory.

Will lookup Spring managed beans identified by bean name, expecting them to be of type javax.jms.Destination.

Since:
2.5
Author:
Juergen Hoeller
See Also:
BeanFactory

Constructor Summary
BeanFactoryDestinationResolver()
          Create a new instance of the BeanFactoryDestinationResolver class.
BeanFactoryDestinationResolver(BeanFactory beanFactory)
          Create a new instance of the BeanFactoryDestinationResolver class.
 
Method Summary
 Destination resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)
          Resolve the given destination name, either as located resource or as dynamic destination.
 void setBeanFactory(BeanFactory beanFactory)
          Callback that supplies the owning factory to a bean instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanFactoryDestinationResolver

public BeanFactoryDestinationResolver()
Create a new instance of the BeanFactoryDestinationResolver class.

The BeanFactory to access must be set via setBeanFactory.

See Also:
setBeanFactory(org.springframework.beans.factory.BeanFactory)

BeanFactoryDestinationResolver

public BeanFactoryDestinationResolver(BeanFactory beanFactory)
Create a new instance of the BeanFactoryDestinationResolver class.

Use of this constructor is redundant if this object is being created by a Spring IoC container, as the supplied BeanFactory will be replaced by the BeanFactory that creates it (c.f. the BeanFactoryAware contract). So only use this constructor if you are using this class outside the context of a Spring IoC container.

Parameters:
beanFactory - the bean factory to be used to lookup Destinatiosn
Method Detail

setBeanFactory

public void setBeanFactory(BeanFactory beanFactory)
Description copied from interface: BeanFactoryAware
Callback that supplies the owning factory to a bean instance.

Invoked after the population of normal bean properties but before an initialization callback such as InitializingBean.afterPropertiesSet() or a custom init-method.

Specified by:
setBeanFactory in interface BeanFactoryAware
Parameters:
beanFactory - owning BeanFactory (never null). The bean can immediately call methods on the factory.
See Also:
BeanInitializationException

resolveDestinationName

public Destination resolveDestinationName(Session session,
                                          String destinationName,
                                          boolean pubSubDomain)
                                   throws JMSException
Description copied from interface: DestinationResolver
Resolve the given destination name, either as located resource or as dynamic destination.

Specified by:
resolveDestinationName in interface DestinationResolver
Parameters:
session - the current JMS Session (may be null if the resolver implementation is able to work without it)
destinationName - the name of the destination
pubSubDomain - true if the domain is pub-sub, false if P2P
Returns:
the JMS destination (either a topic or a queue)
Throws:
JMSException - if the JMS Session failed to resolve the destination