org.springframework.jms.connection

## Interface ConnectionFactoryUtils.ResourceFactory

Enclosing class:
  ConnectionFactoryUtils

    public static interface ConnectionFactoryUtils.ResourceFactory

Callback interface for resource creation. Serving as argument for the `doGetTransactionalSession` method.

### Method Summary

All Methods Instance Methods Abstract Methods
`Connection` `createConnection()` Create a new JMS Connection for registration with a JmsResourceHolder.
`Session` `createSession(Connection con)` Create a new JMS Session for registration with a JmsResourceHolder.
`Connection` `getConnection(JmsResourceHolder holder)` Fetch an appropriate Connection from the given JmsResourceHolder.
`Session` `getSession(JmsResourceHolder holder)` Fetch an appropriate Session from the given JmsResourceHolder.
`boolean` `isSynchedLocalTransactionAllowed()` Return whether to allow for a local JMS transaction that is synchronized with a Spring-managed transaction (where the main transaction might be a JDBC-based one for a specific DataSource, for example), with the JMS transaction committing right after the main transaction.

### Method Detail

#### getSession

    @Nullable
    Session getSession(JmsResourceHolder holder)

Fetch an appropriate Session from the given JmsResourceHolder.

Parameters:
  `holder` - the JmsResourceHolder
Returns:
  an appropriate Session fetched from the holder, or `null` if none found

#### getConnection

    @Nullable
    Connection getConnection(JmsResourceHolder holder)

Fetch an appropriate Connection from the given JmsResourceHolder.

Parameters:
  `holder` - the JmsResourceHolder
Returns:
  an appropriate Connection fetched from the holder, or `null` if none found

#### createConnection

    Connection createConnection()
                         throws JMSException

Create a new JMS Connection for registration with a JmsResourceHolder.

Returns:
  the new JMS Connection
Throws:
  `JMSException` - if thrown by JMS API methods

#### createSession

    Session createSession(Connection con)
                   throws JMSException

Create a new JMS Session for registration with a JmsResourceHolder.

Parameters:
  `con` - the JMS Connection to create a Session for
Returns:
  the new JMS Session
Throws:
  `JMSException` - if thrown by JMS API methods

#### isSynchedLocalTransactionAllowed

    boolean isSynchedLocalTransactionAllowed()

Return whether to allow for a local JMS transaction that is synchronized with a Spring-managed transaction (where the main transaction might be a JDBC-based one for a specific DataSource, for example), with the JMS transaction committing right after the main transaction.

Returns:
  whether to allow for synchronizing a local JMS transaction