mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-17 12:09:16 +00:00
Polish "Align use of transaction manager in MongoDB support"
See gh-51725
This commit is contained in:
-1
@@ -56,7 +56,6 @@ import org.springframework.transaction.annotation.Isolation;
|
|||||||
* {@link EnableAutoConfiguration Auto-configuration} for Spring Batch using Data MongoDB.
|
* {@link EnableAutoConfiguration Auto-configuration} for Spring Batch using Data MongoDB.
|
||||||
*
|
*
|
||||||
* @author Stephane Nicoll
|
* @author Stephane Nicoll
|
||||||
* @author Yanming Zhou
|
|
||||||
* @since 4.1.0
|
* @since 4.1.0
|
||||||
*/
|
*/
|
||||||
@AutoConfiguration(before = { BatchAutoConfiguration.class, BatchJobLauncherAutoConfiguration.class },
|
@AutoConfiguration(before = { BatchAutoConfiguration.class, BatchJobLauncherAutoConfiguration.class },
|
||||||
|
|||||||
+5
-40
@@ -50,7 +50,6 @@ import static org.mockito.Mockito.times;
|
|||||||
* Tests for {@link BatchDataMongoAutoConfiguration}.
|
* Tests for {@link BatchDataMongoAutoConfiguration}.
|
||||||
*
|
*
|
||||||
* @author Stephane Nicoll
|
* @author Stephane Nicoll
|
||||||
* @author Yanming Zhou
|
|
||||||
*/
|
*/
|
||||||
class BatchDataMongoAutoConfigurationTests {
|
class BatchDataMongoAutoConfigurationTests {
|
||||||
|
|
||||||
@@ -71,17 +70,7 @@ class BatchDataMongoAutoConfigurationTests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void autConfigurationUsesMainMongoTransactionManager() {
|
void autConfigurationUsesMainTransactionManager() {
|
||||||
MongoTransactionManager transactionManager = mock(MongoTransactionManager.class);
|
|
||||||
this.contextRunner.withBean(MongoDatabaseFactory.class, this::mockMongoDatabaseFactory)
|
|
||||||
.withBean(MongoTransactionManager.class, () -> transactionManager)
|
|
||||||
.run((context) -> assertThat(
|
|
||||||
context.getBean(SpringBootBatchMongoConfiguration.class).getTransactionManager())
|
|
||||||
.isSameAs(transactionManager));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void autConfigurationUsesMainPlatformTransactionManager() {
|
|
||||||
PlatformTransactionManager transactionManager = mock(PlatformTransactionManager.class);
|
PlatformTransactionManager transactionManager = mock(PlatformTransactionManager.class);
|
||||||
this.contextRunner.withBean(MongoDatabaseFactory.class, this::mockMongoDatabaseFactory)
|
this.contextRunner.withBean(MongoDatabaseFactory.class, this::mockMongoDatabaseFactory)
|
||||||
.withBean(PlatformTransactionManager.class, () -> transactionManager)
|
.withBean(PlatformTransactionManager.class, () -> transactionManager)
|
||||||
@@ -91,24 +80,11 @@ class BatchDataMongoAutoConfigurationTests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void autConfigurationFavorsBatchMongoTransactionManager() {
|
void autConfigurationFavorsBatchTransactionManager() {
|
||||||
MongoTransactionManager transactionManager = mock(MongoTransactionManager.class);
|
MongoTransactionManager transactionManager = mock(MongoTransactionManager.class);
|
||||||
this.contextRunner.withBean(MongoDatabaseFactory.class, this::mockMongoDatabaseFactory)
|
this.contextRunner.withBean(MongoDatabaseFactory.class, this::mockMongoDatabaseFactory)
|
||||||
.withBean(MongoTransactionManager.class, () -> transactionManager)
|
.withBean(MongoTransactionManager.class, () -> transactionManager)
|
||||||
.withUserConfiguration(BatchMongoTransactionManagerConfiguration.class)
|
.withUserConfiguration(BatchTransactionManagerConfiguration.class)
|
||||||
.run((context) -> {
|
|
||||||
assertThat(context.getBeansOfType(MongoTransactionManager.class)).hasSize(2);
|
|
||||||
assertThat(context.getBean(SpringBootBatchMongoConfiguration.class).getTransactionManager())
|
|
||||||
.isSameAs(context.getBean("customTransactionManager"));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void autConfigurationFavorsBatchPlatformTransactionManager() {
|
|
||||||
PlatformTransactionManager transactionManager = mock(PlatformTransactionManager.class);
|
|
||||||
this.contextRunner.withBean(MongoDatabaseFactory.class, this::mockMongoDatabaseFactory)
|
|
||||||
.withBean(PlatformTransactionManager.class, () -> transactionManager)
|
|
||||||
.withUserConfiguration(BatchPlatformTransactionManagerConfiguration.class)
|
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
assertThat(context.getBeansOfType(PlatformTransactionManager.class)).hasSize(2);
|
assertThat(context.getBeansOfType(PlatformTransactionManager.class)).hasSize(2);
|
||||||
assertThat(context.getBean(SpringBootBatchMongoConfiguration.class).getTransactionManager())
|
assertThat(context.getBean(SpringBootBatchMongoConfiguration.class).getTransactionManager())
|
||||||
@@ -123,7 +99,7 @@ class BatchDataMongoAutoConfigurationTests {
|
|||||||
assertThat(context).doesNotHaveBean(MongoTransactionManager.class);
|
assertThat(context).doesNotHaveBean(MongoTransactionManager.class);
|
||||||
assertThat(context.getBean(SpringBootBatchMongoConfiguration.class).getTransactionManager())
|
assertThat(context.getBean(SpringBootBatchMongoConfiguration.class).getTransactionManager())
|
||||||
.isInstanceOfSatisfying(MongoTransactionManager.class,
|
.isInstanceOfSatisfying(MongoTransactionManager.class,
|
||||||
(mongoTransactionManager) -> assertThat(mongoTransactionManager.getDatabaseFactory())
|
(transactionManager) -> assertThat(transactionManager.getDatabaseFactory())
|
||||||
.isSameAs(mongoDatabaseFactory));
|
.isSameAs(mongoDatabaseFactory));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -223,18 +199,7 @@ class BatchDataMongoAutoConfigurationTests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Configuration(proxyBeanMethods = false)
|
@Configuration(proxyBeanMethods = false)
|
||||||
static class BatchMongoTransactionManagerConfiguration {
|
static class BatchTransactionManagerConfiguration {
|
||||||
|
|
||||||
@Bean
|
|
||||||
@BatchTransactionManager
|
|
||||||
MongoTransactionManager customTransactionManager() {
|
|
||||||
return mock(MongoTransactionManager.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Configuration(proxyBeanMethods = false)
|
|
||||||
static class BatchPlatformTransactionManagerConfiguration {
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@BatchTransactionManager
|
@BatchTransactionManager
|
||||||
|
|||||||
Reference in New Issue
Block a user