Class JmsGatewaySupport
- java.lang.Object
- org.springframework.jms.core.support.JmsGatewaySupport
- All Implemented Interfaces:
InitializingBean
public abstract class JmsGatewaySupport extends Object implements InitializingBean
Convenient super class for application classes that need JMS access.Requires a ConnectionFactory or a JmsTemplate instance to be set. It will create its own JmsTemplate if a ConnectionFactory is passed in. A custom JmsTemplate instance can be created for a given ConnectionFactory through overriding the
createJmsTemplate(javax.jms.ConnectionFactory)
method.- Since:
- 1.1.1
- Author:
- Mark Pollack
- See Also:
setConnectionFactory(javax.jms.ConnectionFactory)
,setJmsTemplate(org.springframework.jms.core.JmsTemplate)
,createJmsTemplate(javax.jms.ConnectionFactory)
,JmsTemplate
Constructor Summary
Constructors Constructor Description JmsGatewaySupport()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterPropertiesSet()
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.protected JmsTemplate
createJmsTemplate(ConnectionFactory connectionFactory)
Create a JmsTemplate for the given ConnectionFactory.ConnectionFactory
getConnectionFactory()
Return the JMS ConnectionFactory used by the gateway.JmsTemplate
getJmsTemplate()
Return the JmsTemplate for the gateway.protected void
initGateway()
Subclasses can override this for custom initialization behavior.void
setConnectionFactory(ConnectionFactory connectionFactory)
Set the JMS connection factory to be used by the gateway.void
setJmsTemplate(JmsTemplate jmsTemplate)
Set the JmsTemplate for the gateway.
Constructor Detail
JmsGatewaySupport
public JmsGatewaySupport()
Method Detail
setConnectionFactory
public final void setConnectionFactory(ConnectionFactory connectionFactory)
Set the JMS connection factory to be used by the gateway. Will automatically create a JmsTemplate for the given ConnectionFactory.
createJmsTemplate
protected JmsTemplate createJmsTemplate(ConnectionFactory connectionFactory)
Create a JmsTemplate for the given ConnectionFactory. Only invoked if populating the gateway with a ConnectionFactory reference.Can be overridden in subclasses to provide a JmsTemplate instance with a different configuration.
- Parameters:
connectionFactory
- the JMS ConnectionFactory to create a JmsTemplate for- Returns:
- the new JmsTemplate instance
- See Also:
setConnectionFactory(javax.jms.ConnectionFactory)
getConnectionFactory
public final ConnectionFactory getConnectionFactory()
Return the JMS ConnectionFactory used by the gateway.
setJmsTemplate
public final void setJmsTemplate(JmsTemplate jmsTemplate)
Set the JmsTemplate for the gateway.
getJmsTemplate
public final JmsTemplate getJmsTemplate()
Return the JmsTemplate for the gateway.
afterPropertiesSet
public final void afterPropertiesSet() throws IllegalArgumentException, BeanInitializationException
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
- Throws:
IllegalArgumentException
BeanInitializationException
initGateway
protected void initGateway() throws Exception
Subclasses can override this for custom initialization behavior. Gets called after population of this instance's bean properties.- Throws:
Exception
- if initialization fails