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
    Modifier and Type | Method and Description
    --- | ---
    `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