org.springframework.jms.core.support

## Class JmsGatewaySupport

- java.lang.Object
- - org.springframework.jms.core.support.JmsGatewaySupport

All Implemented Interfaces:
  org.springframework.beans.factory.InitializingBean

    public abstract class JmsGatewaySupport
    extends Object
    implements org.springframework.beans.factory.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

Fields
`protected Log` `logger` Logger available to subclasses.

### Constructor Summary

Constructors
Constructor and Description
`JmsGatewaySupport()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `afterPropertiesSet()`
`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.

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.

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

#### getConnectionFactory

    @Nullable
    public final ConnectionFactory getConnectionFactory()

Return the JMS ConnectionFactory used by the gateway.

#### setJmsTemplate

    public final void setJmsTemplate(@Nullable
                                     JmsTemplate jmsTemplate)

Set the JmsTemplate for the gateway.

See Also:
  `setConnectionFactory(javax.jms.ConnectionFactory)`

#### getJmsTemplate

    @Nullable
    public final JmsTemplate getJmsTemplate()

Return the JmsTemplate for the gateway.

#### afterPropertiesSet

    public final void afterPropertiesSet()
                                  throws IllegalArgumentException,
                                         org.springframework.beans.factory.BeanInitializationException

Specified by:
  `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
Throws:
  `IllegalArgumentException`
  `org.springframework.beans.factory.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