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 TypeMethodDescriptioncom.rabbitmq.client.Channel
createChannel
(Connection con) Create a new RabbitMQ Session for registration with a RabbitResourceHolder.Create a new RabbitMQ Connection for registration with a RabbitResourceHolder.com.rabbitmq.client.Channel
getChannel
(RabbitResourceHolder holder) Fetch an appropriate Channel from the given RabbitResourceHolder.getConnection
(RabbitResourceHolder holder) 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
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
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
Create a new RabbitMQ Connection for registration with a RabbitResourceHolder.- Returns:
- the new RabbitMQ Connection
- Throws:
IOException
- if thrown by RabbitMQ API methods
-
createChannel
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
-