Class TestContextTransactionUtils
java.lang.Object
org.springframework.test.context.transaction.TestContextTransactionUtils
Utility methods for working with transactions and data access related beans
 within the Spring TestContext Framework.
 
Mainly for internal use within the framework.
- Since:
 - 4.1
 - Author:
 - Sam Brannen, Juergen Hoeller, Andreas Ahlenstorf
 
- 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringDefault bean name for aDataSource:"dataSource".static final StringDefault bean name for aPlatformTransactionManager:"transactionManager". - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic TransactionAttributecreateDelegatingTransactionAttribute(TestContext testContext, TransactionAttribute targetAttribute) Create a delegatingTransactionAttributefor the supplied targetTransactionAttributeandTestContext, using the names of the test class and test method to build the name of the transaction.static TransactionAttributecreateDelegatingTransactionAttribute(TestContext testContext, TransactionAttribute targetAttribute, boolean includeMethodName) Create a delegatingTransactionAttributefor the supplied targetTransactionAttributeandTestContext, using the names of the test class and test method (if requested) to build the name of the transaction.static @Nullable DataSourceretrieveDataSource(TestContext testContext, @Nullable String name) Retrieve theDataSourceto use for the supplied test context.retrieveTransactionManager(TestContext testContext, @Nullable String name) Retrieve the transaction manager to use for the supplied test context. 
- 
Field Details
- 
DEFAULT_DATA_SOURCE_NAME
Default bean name for aDataSource:"dataSource".- See Also:
 
 - 
DEFAULT_TRANSACTION_MANAGER_NAME
Default bean name for aPlatformTransactionManager:"transactionManager".- See Also:
 
 
 - 
 - 
Constructor Details
- 
TestContextTransactionUtils
public TestContextTransactionUtils() 
 - 
 - 
Method Details
- 
retrieveDataSource
public static @Nullable DataSource retrieveDataSource(TestContext testContext, @Nullable String name) Retrieve theDataSourceto use for the supplied test context.The following algorithm is used to retrieve the
DataSourcefrom theApplicationContextof the supplied test context:- Look up the 
DataSourceby type and name, if the suppliednameis non-empty, throwing aBeansExceptionif the namedDataSourcedoes not exist. - Attempt to look up the single 
DataSourceby type. - Attempt to look up the primary 
DataSourceby type. - Attempt to look up the 
DataSourceby type and the default data source name. 
- Parameters:
 testContext- the test context for which theDataSourceshould be retrieved; nevernullname- the name of theDataSourceto retrieve (may benullor empty)- Returns:
 - the 
DataSourceto use, ornullif not found - Throws:
 BeansException- if an error occurs while retrieving an explicitly namedDataSource
 - Look up the 
 - 
retrieveTransactionManager
public static @Nullable PlatformTransactionManager retrieveTransactionManager(TestContext testContext, @Nullable String name) Retrieve the transaction manager to use for the supplied test context.The following algorithm is used to retrieve the transaction manager from the
ApplicationContextof the supplied test context:- Look up the transaction manager by type and explicit name, if the supplied
 
nameis non-empty, throwing aBeansExceptionif the named transaction manager does not exist. - Attempt to look up the transaction manager via a
 
TransactionManagementConfigurer, if present. - Attempt to look up the single transaction manager by type.
 - Attempt to look up the primary transaction manager by type.
 - Attempt to look up the transaction manager by type and the default transaction manager name.
 
- Parameters:
 testContext- the test context for which the transaction manager should be retrieved; nevernullname- the name of the transaction manager to retrieve (may benullor empty)- Returns:
 - the transaction manager to use, or 
nullif not found - Throws:
 BeansException- if an error occurs while retrieving an explicitly named transaction managerIllegalStateException- if more than one TransactionManagementConfigurer exists in the ApplicationContext
 - Look up the transaction manager by type and explicit name, if the supplied
 
 - 
createDelegatingTransactionAttribute
public static TransactionAttribute createDelegatingTransactionAttribute(TestContext testContext, TransactionAttribute targetAttribute) Create a delegatingTransactionAttributefor the supplied targetTransactionAttributeandTestContext, using the names of the test class and test method to build the name of the transaction.- Parameters:
 testContext- theTestContextupon which to base the nametargetAttribute- theTransactionAttributeto delegate to- Returns:
 - the delegating 
TransactionAttribute 
 - 
createDelegatingTransactionAttribute
public static TransactionAttribute createDelegatingTransactionAttribute(TestContext testContext, TransactionAttribute targetAttribute, boolean includeMethodName) Create a delegatingTransactionAttributefor the supplied targetTransactionAttributeandTestContext, using the names of the test class and test method (if requested) to build the name of the transaction.- Parameters:
 testContext- theTestContextupon which to base the nametargetAttribute- theTransactionAttributeto delegate toincludeMethodName-trueif the test method's name should be included in the name of the transaction- Returns:
 - the delegating 
TransactionAttribute - Since:
 - 6.1
 
 
 -