org.springframework.jms.core.support
Class JmsGatewaySupport

java.lang.Object
  extended by 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

Field Summary
protected  Log logger
          Logger available to subclasses
 
Constructor Summary
JmsGatewaySupport()
           
 
Method Summary
 void afterPropertiesSet()
          Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final Log logger
Logger available to subclasses

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.

Parameters:
connectionFactory -
See Also:
createJmsTemplate(javax.jms.ConnectionFactory), setConnectionFactory(javax.jms.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 or the JMS 1.0.2 version, JmsTemplate102.

Parameters:
connectionFactory - the JMS ConnectionFactory to create a JmsTemplate for
Returns:
the new JmsTemplate instance
See Also:
setConnectionFactory(javax.jms.ConnectionFactory), JmsTemplate102

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.

Parameters:
jmsTemplate -
See Also:
setConnectionFactory(javax.jms.ConnectionFactory)

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 a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

Specified by:
afterPropertiesSet in interface InitializingBean
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