Interface ConnectionFactoryUtils.ResourceFactory

Enclosing class:
ConnectionFactoryUtils

public static interface ConnectionFactoryUtils.ResourceFactory
Callback interface for resource creation. Serving as argument for the doGetTransactionalChannel method.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.rabbitmq.client.Channel
    Create a new RabbitMQ Session for registration with a RabbitResourceHolder.
    Create a new RabbitMQ Connection for registration with a RabbitResourceHolder.
    com.rabbitmq.client.Channel
    Fetch an appropriate Channel from the given RabbitResourceHolder.
    Fetch an appropriate Connection from the given RabbitResourceHolder.
    boolean
    Return whether to allow for a local RabbitMQ 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 RabbitMQ transaction committing right after the main transaction.
  • Method Details

    • getChannel

      @Nullable com.rabbitmq.client.Channel getChannel(RabbitResourceHolder holder)
      Fetch an appropriate Channel from the given RabbitResourceHolder.
      Parameters:
      holder - the RabbitResourceHolder
      Returns:
      an appropriate Channel fetched from the holder, or null if none found
    • getConnection

      Connection getConnection(RabbitResourceHolder holder)
      Fetch an appropriate Connection from the given RabbitResourceHolder.
      Parameters:
      holder - the RabbitResourceHolder
      Returns:
      an appropriate Connection fetched from the holder, or null if none found
    • createConnection

      Connection createConnection() throws IOException
      Create a new RabbitMQ Connection for registration with a RabbitResourceHolder.
      Returns:
      the new RabbitMQ Connection
      Throws:
      IOException - if thrown by RabbitMQ API methods
    • createChannel

      com.rabbitmq.client.Channel createChannel(Connection con) throws IOException
      Create a new RabbitMQ Session for registration with a RabbitResourceHolder.
      Parameters:
      con - the RabbitMQ Connection to create a Channel for
      Returns:
      the new RabbitMQ Channel
      Throws:
      IOException - if thrown by RabbitMQ API methods
    • isSynchedLocalTransactionAllowed

      boolean isSynchedLocalTransactionAllowed()
      Return whether to allow for a local RabbitMQ 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 RabbitMQ transaction committing right after the main transaction.
      Returns:
      whether to allow for synchronizing a local RabbitMQ transaction