public abstract class TestContextTransactionUtils extends Object
Mainly for internal use within the framework.
| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_DATA_SOURCE_NAME
Default bean name for a
DataSource: "dataSource". |
static String |
DEFAULT_TRANSACTION_MANAGER_NAME
Default bean name for a
PlatformTransactionManager:
"transactionManager". |
| Constructor and Description |
|---|
TestContextTransactionUtils() |
| Modifier and Type | Method and Description |
|---|---|
static TransactionAttribute |
createDelegatingTransactionAttribute(TestContext testContext,
TransactionAttribute targetAttribute)
Create a delegating
TransactionAttribute for the supplied target
TransactionAttribute and TestContext, using the names of
the test class and test method to build the name of the transaction. |
static DataSource |
retrieveDataSource(TestContext testContext,
String name)
Retrieve the
DataSource to use for the supplied test context. |
static PlatformTransactionManager |
retrieveTransactionManager(TestContext testContext,
String name)
Retrieve the transaction manager
to use for the supplied test context.
|
public static final String DEFAULT_DATA_SOURCE_NAME
DataSource: "dataSource".public static final String DEFAULT_TRANSACTION_MANAGER_NAME
PlatformTransactionManager:
"transactionManager".@Nullable public static DataSource retrieveDataSource(TestContext testContext, @Nullable String name)
DataSource to use for the supplied test context.
The following algorithm is used to retrieve the DataSource from
the ApplicationContext
of the supplied test context:
DataSource by type and name, if the supplied
name is non-empty, throwing a BeansException if the named
DataSource does not exist.
DataSource by type.
DataSource by type.
DataSource by type and the
default data source name.
testContext - the test context for which the DataSource
should be retrieved; never nullname - the name of the DataSource to retrieve
(may be null or empty)DataSource to use, or null if not foundBeansException - if an error occurs while retrieving an explicitly
named DataSource@Nullable public static PlatformTransactionManager retrieveTransactionManager(TestContext testContext, @Nullable String name)
The following algorithm is used to retrieve the transaction manager
from the ApplicationContext
of the supplied test context:
name is non-empty, throwing a BeansException if the named
transaction manager does not exist.
TransactionManagementConfigurer, if present.
testContext - the test context for which the transaction manager
should be retrieved; never nullname - the name of the transaction manager to retrieve
(may be null or empty)null if not foundBeansException - if an error occurs while retrieving an explicitly
named transaction managerIllegalStateException - if more than one TransactionManagementConfigurer
exists in the ApplicationContextpublic static TransactionAttribute createDelegatingTransactionAttribute(TestContext testContext, TransactionAttribute targetAttribute)
TransactionAttribute for the supplied target
TransactionAttribute and TestContext, using the names of
the test class and test method to build the name of the transaction.testContext - the TestContext upon which to base the nametargetAttribute - the TransactionAttribute to delegate toTransactionAttribute