Merge branch '3.3.x' into 3.4.x
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run
Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run
Details
Build and Deploy Snapshot / Build and Deploy Snapshot (push) Waiting to run
Details
Build and Deploy Snapshot / Trigger Docs Build (push) Blocked by required conditions
Details
Build and Deploy Snapshot / Verify (push) Blocked by required conditions
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[early-access:true toolchain:true version:24], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:17], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:21], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:false version:22], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} name:Linux]) (push) Waiting to run
Details
CI / ${{ matrix.os.name}} | Java ${{ matrix.java.version}} (map[toolchain:true version:23], map[id:windows-latest name:Windows]) (push) Waiting to run
Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:false version:17]) (push) Waiting to run
Details
Run System Tests / Java ${{ matrix.java.version}} (map[toolchain:true version:21]) (push) Waiting to run
Details
Closes gh-44828
This commit is contained in:
commit
6280767870
|
@ -107,6 +107,7 @@ import static org.mockito.Mockito.mock;
|
||||||
* @author Mahmoud Ben Hassine
|
* @author Mahmoud Ben Hassine
|
||||||
* @author Lars Uffmann
|
* @author Lars Uffmann
|
||||||
* @author Lasse Wulff
|
* @author Lasse Wulff
|
||||||
|
* @author Yanming Zhou
|
||||||
*/
|
*/
|
||||||
@ExtendWith(OutputCaptureExtension.class)
|
@ExtendWith(OutputCaptureExtension.class)
|
||||||
class BatchAutoConfigurationTests {
|
class BatchAutoConfigurationTests {
|
||||||
|
@ -117,23 +118,22 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testDefaultContext() {
|
void testDefaultContext() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class).run((context) -> {
|
||||||
.run((context) -> {
|
assertThat(context).hasSingleBean(JobRepository.class);
|
||||||
assertThat(context).hasSingleBean(JobRepository.class);
|
assertThat(context).hasSingleBean(JobLauncher.class);
|
||||||
assertThat(context).hasSingleBean(JobLauncher.class);
|
assertThat(context).hasSingleBean(JobExplorer.class);
|
||||||
assertThat(context).hasSingleBean(JobExplorer.class);
|
assertThat(context).hasSingleBean(JobRegistry.class);
|
||||||
assertThat(context).hasSingleBean(JobRegistry.class);
|
assertThat(context).hasSingleBean(JobOperator.class);
|
||||||
assertThat(context).hasSingleBean(JobOperator.class);
|
assertThat(context.getBean(BatchProperties.class).getJdbc().getInitializeSchema())
|
||||||
assertThat(context.getBean(BatchProperties.class).getJdbc().getInitializeSchema())
|
.isEqualTo(DatabaseInitializationMode.EMBEDDED);
|
||||||
.isEqualTo(DatabaseInitializationMode.EMBEDDED);
|
assertThat(new JdbcTemplate(context.getBean(DataSource.class))
|
||||||
assertThat(new JdbcTemplate(context.getBean(DataSource.class))
|
.queryForList("select * from BATCH_JOB_EXECUTION")).isEmpty();
|
||||||
.queryForList("select * from BATCH_JOB_EXECUTION")).isEmpty();
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void autoconfigurationBacksOffEntirelyIfSpringJdbcAbsent() {
|
void autoconfigurationBacksOffEntirelyIfSpringJdbcAbsent() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||||
.withClassLoader(new FilteredClassLoader(DatabasePopulator.class))
|
.withClassLoader(new FilteredClassLoader(DatabasePopulator.class))
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
assertThat(context).doesNotHaveBean(JobLauncherApplicationRunner.class);
|
assertThat(context).doesNotHaveBean(JobLauncherApplicationRunner.class);
|
||||||
|
@ -257,7 +257,7 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testDisableSchemaLoader() {
|
void testDisableSchemaLoader() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||||
.withPropertyValues("spring.datasource.generate-unique-name=true",
|
.withPropertyValues("spring.datasource.generate-unique-name=true",
|
||||||
"spring.batch.jdbc.initialize-schema:never")
|
"spring.batch.jdbc.initialize-schema:never")
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
|
@ -274,7 +274,7 @@ class BatchAutoConfigurationTests {
|
||||||
@Test
|
@Test
|
||||||
void testUsingJpa() {
|
void testUsingJpa() {
|
||||||
this.contextRunner
|
this.contextRunner
|
||||||
.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class,
|
.withUserConfiguration(TestJpaConfiguration.class, EmbeddedDataSourceConfiguration.class,
|
||||||
HibernateJpaAutoConfiguration.class)
|
HibernateJpaAutoConfiguration.class)
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
PlatformTransactionManager transactionManager = context.getBean(PlatformTransactionManager.class);
|
PlatformTransactionManager transactionManager = context.getBean(PlatformTransactionManager.class);
|
||||||
|
@ -292,11 +292,9 @@ class BatchAutoConfigurationTests {
|
||||||
@Test
|
@Test
|
||||||
@WithPackageResources("custom-schema.sql")
|
@WithPackageResources("custom-schema.sql")
|
||||||
void testRenamePrefix() {
|
void testRenamePrefix() {
|
||||||
this.contextRunner
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||||
.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class,
|
|
||||||
HibernateJpaAutoConfiguration.class)
|
|
||||||
.withPropertyValues("spring.datasource.generate-unique-name=true",
|
.withPropertyValues("spring.datasource.generate-unique-name=true",
|
||||||
"spring.batch.jdbc.schema:classpath:custom-schema.sql", "spring.batch.jdbc.tablePrefix:PREFIX_")
|
"spring.batch.jdbc.schema:classpath:custom-schema.sql", "spring.batch.jdbc.table-prefix:PREFIX_")
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
assertThat(context).hasSingleBean(JobLauncher.class);
|
assertThat(context).hasSingleBean(JobLauncher.class);
|
||||||
assertThat(context.getBean(BatchProperties.class).getJdbc().getInitializeSchema())
|
assertThat(context.getBean(BatchProperties.class).getJdbc().getInitializeSchema())
|
||||||
|
@ -313,7 +311,7 @@ class BatchAutoConfigurationTests {
|
||||||
@Test
|
@Test
|
||||||
void testCustomizeJpaTransactionManagerUsingProperties() {
|
void testCustomizeJpaTransactionManagerUsingProperties() {
|
||||||
this.contextRunner
|
this.contextRunner
|
||||||
.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class,
|
.withUserConfiguration(TestJpaConfiguration.class, EmbeddedDataSourceConfiguration.class,
|
||||||
HibernateJpaAutoConfiguration.class)
|
HibernateJpaAutoConfiguration.class)
|
||||||
.withPropertyValues("spring.transaction.default-timeout:30",
|
.withPropertyValues("spring.transaction.default-timeout:30",
|
||||||
"spring.transaction.rollback-on-commit-failure:true")
|
"spring.transaction.rollback-on-commit-failure:true")
|
||||||
|
@ -328,7 +326,7 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testCustomizeDataSourceTransactionManagerUsingProperties() {
|
void testCustomizeDataSourceTransactionManagerUsingProperties() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||||
.withPropertyValues("spring.transaction.default-timeout:30",
|
.withPropertyValues("spring.transaction.default-timeout:30",
|
||||||
"spring.transaction.rollback-on-commit-failure:true")
|
"spring.transaction.rollback-on-commit-failure:true")
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
|
@ -342,36 +340,32 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testBatchDataSource() {
|
void testBatchDataSource() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, BatchDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(BatchDataSourceConfiguration.class).run((context) -> {
|
||||||
.run((context) -> {
|
assertThat(context).hasSingleBean(SpringBootBatchConfiguration.class)
|
||||||
assertThat(context).hasSingleBean(SpringBootBatchConfiguration.class)
|
.hasSingleBean(BatchDataSourceScriptDatabaseInitializer.class)
|
||||||
.hasSingleBean(BatchDataSourceScriptDatabaseInitializer.class)
|
.hasBean("batchDataSource");
|
||||||
.hasBean("batchDataSource");
|
DataSource batchDataSource = context.getBean("batchDataSource", DataSource.class);
|
||||||
DataSource batchDataSource = context.getBean("batchDataSource", DataSource.class);
|
assertThat(context.getBean(SpringBootBatchConfiguration.class).getDataSource()).isEqualTo(batchDataSource);
|
||||||
assertThat(context.getBean(SpringBootBatchConfiguration.class).getDataSource())
|
assertThat(context.getBean(BatchDataSourceScriptDatabaseInitializer.class))
|
||||||
.isEqualTo(batchDataSource);
|
.hasFieldOrPropertyWithValue("dataSource", batchDataSource);
|
||||||
assertThat(context.getBean(BatchDataSourceScriptDatabaseInitializer.class))
|
});
|
||||||
.hasFieldOrPropertyWithValue("dataSource", batchDataSource);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testBatchTransactionManager() {
|
void testBatchTransactionManager() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, BatchTransactionManagerConfiguration.class)
|
this.contextRunner.withUserConfiguration(BatchTransactionManagerConfiguration.class).run((context) -> {
|
||||||
.run((context) -> {
|
assertThat(context).hasSingleBean(SpringBootBatchConfiguration.class);
|
||||||
assertThat(context).hasSingleBean(SpringBootBatchConfiguration.class);
|
PlatformTransactionManager batchTransactionManager = context.getBean("batchTransactionManager",
|
||||||
PlatformTransactionManager batchTransactionManager = context.getBean("batchTransactionManager",
|
PlatformTransactionManager.class);
|
||||||
PlatformTransactionManager.class);
|
assertThat(context.getBean(SpringBootBatchConfiguration.class).getTransactionManager())
|
||||||
assertThat(context.getBean(SpringBootBatchConfiguration.class).getTransactionManager())
|
.isEqualTo(batchTransactionManager);
|
||||||
.isEqualTo(batchTransactionManager);
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testBatchTaskExecutor() {
|
void testBatchTaskExecutor() {
|
||||||
this.contextRunner
|
this.contextRunner
|
||||||
.withUserConfiguration(TestConfiguration.class, BatchTaskExecutorConfiguration.class,
|
.withUserConfiguration(BatchTaskExecutorConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
||||||
EmbeddedDataSourceConfiguration.class)
|
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
assertThat(context).hasSingleBean(SpringBootBatchConfiguration.class).hasBean("batchTaskExecutor");
|
assertThat(context).hasSingleBean(SpringBootBatchConfiguration.class).hasBean("batchTaskExecutor");
|
||||||
TaskExecutor batchTaskExecutor = context.getBean("batchTaskExecutor", TaskExecutor.class);
|
TaskExecutor batchTaskExecutor = context.getBean("batchTaskExecutor", TaskExecutor.class);
|
||||||
|
@ -385,22 +379,20 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void jobRepositoryBeansDependOnBatchDataSourceInitializer() {
|
void jobRepositoryBeansDependOnBatchDataSourceInitializer() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class).run((context) -> {
|
||||||
.run((context) -> {
|
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
||||||
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
String[] jobRepositoryNames = beanFactory.getBeanNamesForType(JobRepository.class);
|
||||||
String[] jobRepositoryNames = beanFactory.getBeanNamesForType(JobRepository.class);
|
assertThat(jobRepositoryNames).isNotEmpty();
|
||||||
assertThat(jobRepositoryNames).isNotEmpty();
|
for (String jobRepositoryName : jobRepositoryNames) {
|
||||||
for (String jobRepositoryName : jobRepositoryNames) {
|
assertThat(beanFactory.getBeanDefinition(jobRepositoryName).getDependsOn())
|
||||||
assertThat(beanFactory.getBeanDefinition(jobRepositoryName).getDependsOn())
|
.contains("batchDataSourceInitializer");
|
||||||
.contains("batchDataSourceInitializer");
|
}
|
||||||
}
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void jobRepositoryBeansDependOnFlyway() {
|
void jobRepositoryBeansDependOnFlyway() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class, FlywayAutoConfiguration.class)
|
||||||
.withUserConfiguration(FlywayAutoConfiguration.class)
|
|
||||||
.withPropertyValues("spring.batch.initialize-schema=never")
|
.withPropertyValues("spring.batch.initialize-schema=never")
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
||||||
|
@ -416,8 +408,8 @@ class BatchAutoConfigurationTests {
|
||||||
@Test
|
@Test
|
||||||
@WithResource(name = "db/changelog/db.changelog-master.yaml", content = "databaseChangeLog:")
|
@WithResource(name = "db/changelog/db.changelog-master.yaml", content = "databaseChangeLog:")
|
||||||
void jobRepositoryBeansDependOnLiquibase() {
|
void jobRepositoryBeansDependOnLiquibase() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner
|
||||||
.withUserConfiguration(LiquibaseAutoConfiguration.class)
|
.withUserConfiguration(EmbeddedDataSourceConfiguration.class, LiquibaseAutoConfiguration.class)
|
||||||
.withPropertyValues("spring.batch.initialize-schema=never")
|
.withPropertyValues("spring.batch.initialize-schema=never")
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
|
||||||
|
@ -431,8 +423,7 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void whenTheUserDefinesTheirOwnBatchDatabaseInitializerThenTheAutoConfiguredInitializerBacksOff() {
|
void whenTheUserDefinesTheirOwnBatchDatabaseInitializerThenTheAutoConfiguredInitializerBacksOff() {
|
||||||
this.contextRunner
|
this.contextRunner.withUserConfiguration(CustomBatchDatabaseInitializerConfiguration.class)
|
||||||
.withUserConfiguration(TestConfiguration.class, CustomBatchDatabaseInitializerConfiguration.class)
|
|
||||||
.withConfiguration(AutoConfigurations.of(DataSourceAutoConfiguration.class,
|
.withConfiguration(AutoConfigurations.of(DataSourceAutoConfiguration.class,
|
||||||
DataSourceTransactionManagerAutoConfiguration.class))
|
DataSourceTransactionManagerAutoConfiguration.class))
|
||||||
.run((context) -> assertThat(context).hasSingleBean(BatchDataSourceScriptDatabaseInitializer.class)
|
.run((context) -> assertThat(context).hasSingleBean(BatchDataSourceScriptDatabaseInitializer.class)
|
||||||
|
@ -442,7 +433,7 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void whenTheUserDefinesTheirOwnDatabaseInitializerThenTheAutoConfiguredBatchInitializerRemains() {
|
void whenTheUserDefinesTheirOwnDatabaseInitializerThenTheAutoConfiguredBatchInitializerRemains() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, CustomDatabaseInitializerConfiguration.class)
|
this.contextRunner.withUserConfiguration(CustomDatabaseInitializerConfiguration.class)
|
||||||
.withConfiguration(AutoConfigurations.of(DataSourceAutoConfiguration.class,
|
.withConfiguration(AutoConfigurations.of(DataSourceAutoConfiguration.class,
|
||||||
DataSourceTransactionManagerAutoConfiguration.class))
|
DataSourceTransactionManagerAutoConfiguration.class))
|
||||||
.run((context) -> assertThat(context).hasSingleBean(BatchDataSourceScriptDatabaseInitializer.class)
|
.run((context) -> assertThat(context).hasSingleBean(BatchDataSourceScriptDatabaseInitializer.class)
|
||||||
|
@ -451,8 +442,9 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void conversionServiceCustomizersAreCalled() {
|
void conversionServiceCustomizersAreCalled() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner
|
||||||
.withUserConfiguration(ConversionServiceCustomizersConfiguration.class)
|
.withUserConfiguration(EmbeddedDataSourceConfiguration.class,
|
||||||
|
ConversionServiceCustomizersConfiguration.class)
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
BatchConversionServiceCustomizer customizer = context.getBean("batchConversionServiceCustomizer",
|
BatchConversionServiceCustomizer customizer = context.getBean("batchConversionServiceCustomizer",
|
||||||
BatchConversionServiceCustomizer.class);
|
BatchConversionServiceCustomizer.class);
|
||||||
|
@ -501,8 +493,8 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void customExecutionContextSerializerIsUsed() {
|
void customExecutionContextSerializerIsUsed() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||||
.withUserConfiguration(CustomExecutionContextConfiguration.class)
|
.withBean(ExecutionContextSerializer.class, Jackson2ExecutionContextStringSerializer::new)
|
||||||
.run((context) -> {
|
.run((context) -> {
|
||||||
assertThat(context).hasSingleBean(Jackson2ExecutionContextStringSerializer.class);
|
assertThat(context).hasSingleBean(Jackson2ExecutionContextStringSerializer.class);
|
||||||
assertThat(context.getBean(SpringBootBatchConfiguration.class).getExecutionContextSerializer())
|
assertThat(context.getBean(SpringBootBatchConfiguration.class).getExecutionContextSerializer())
|
||||||
|
@ -512,12 +504,11 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void defaultExecutionContextSerializerIsUsed() {
|
void defaultExecutionContextSerializerIsUsed() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class).run((context) -> {
|
||||||
.run((context) -> {
|
assertThat(context).doesNotHaveBean(ExecutionContextSerializer.class);
|
||||||
assertThat(context).doesNotHaveBean(ExecutionContextSerializer.class);
|
assertThat(context.getBean(SpringBootBatchConfiguration.class).getExecutionContextSerializer())
|
||||||
assertThat(context.getBean(SpringBootBatchConfiguration.class).getExecutionContextSerializer())
|
.isInstanceOf(DefaultExecutionContextSerializer.class);
|
||||||
.isInstanceOf(DefaultExecutionContextSerializer.class);
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private JobLauncherApplicationRunner createInstance(String... registeredJobNames) {
|
private JobLauncherApplicationRunner createInstance(String... registeredJobNames) {
|
||||||
|
@ -595,7 +586,7 @@ class BatchAutoConfigurationTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestAutoConfigurationPackage(City.class)
|
@TestAutoConfigurationPackage(City.class)
|
||||||
static class TestConfiguration {
|
static class TestJpaConfiguration {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -873,14 +864,4 @@ class BatchAutoConfigurationTests {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Configuration(proxyBeanMethods = false)
|
|
||||||
static class CustomExecutionContextConfiguration {
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
ExecutionContextSerializer executionContextSerializer() {
|
|
||||||
return new Jackson2ExecutionContextStringSerializer();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue