## 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
`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

    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

    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