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

    Modifier and Type
    Method
    Description
    Create a new JMS Connection for registration with a JmsResourceHolder.
    Create a new JMS Session for registration with a JmsResourceHolder.
    Fetch an appropriate Connection from the given JmsResourceHolder.
    Fetch an appropriate Session from the given JmsResourceHolder.
    boolean
    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 Details

    • 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