Skip to content

Commit 84bef3e

Browse files
committed
Fix isolationLevelForCreate binding for Mongo job repository
Signed-off-by: banseok1216 <[email protected]>
1 parent 088487b commit 84bef3e

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/BatchRegistrar.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ private void registerMongoJobRepository(BeanDefinitionRegistry registry,
182182
}
183183
Isolation isolationLevelForCreate = mongoJobRepositoryAnnotation.isolationLevelForCreate();
184184
if (isolationLevelForCreate != null) {
185-
beanDefinitionBuilder.addPropertyValue("isolationLevelForCreate", isolationLevelForCreate);
185+
beanDefinitionBuilder.addPropertyValue("isolationLevelForCreateEnum", isolationLevelForCreate);
186186
}
187187

188188
String jobKeyGeneratorRef = mongoJobRepositoryAnnotation.jobKeyGeneratorRef();

spring-batch-core/src/test/java/org/springframework/batch/core/configuration/annotation/BatchRegistrarTests.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
4141
import org.springframework.context.annotation.Bean;
4242
import org.springframework.context.annotation.Configuration;
43+
import org.springframework.data.mongodb.MongoTransactionManager;
44+
import org.springframework.data.mongodb.core.MongoOperations;
4345
import org.springframework.jdbc.core.JdbcTemplate;
4446
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
4547
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
@@ -202,6 +204,17 @@ public void testCustomJobParametersConverterConfiguration() {
202204
Assertions.assertEquals(JsonJobParametersConverter.class, jobParametersConverter.getClass());
203205
}
204206

207+
@Test
208+
@DisplayName("Mongo job repository should be configured successfully with @EnableMongoJobRepository")
209+
void testMongoJobRepositoryConfiguredWithEnableMongoJobRepository() {
210+
AnnotationConfigApplicationContext context =
211+
new AnnotationConfigApplicationContext(MongoJobConfiguration.class);
212+
213+
JobRepository jobRepository = context.getBean(JobRepository.class);
214+
215+
Assertions.assertNotNull(jobRepository);
216+
}
217+
205218
@Configuration
206219
@EnableBatchProcessing
207220
public static class JobConfigurationWithUserDefinedInfrastructureBeans {
@@ -322,6 +335,23 @@ public JobParametersConverter jobParametersConverter() {
322335

323336
}
324337

338+
@Configuration
339+
@EnableBatchProcessing
340+
@EnableMongoJobRepository
341+
public static class MongoJobConfiguration {
342+
343+
@Bean
344+
public MongoOperations mongoTemplate() {
345+
return Mockito.mock(MongoOperations.class);
346+
}
347+
348+
@Bean
349+
public MongoTransactionManager transactionManager() {
350+
return Mockito.mock(MongoTransactionManager.class);
351+
}
352+
353+
}
354+
325355
private PlatformTransactionManager getTransactionManagerSetOnJobRepository(JobRepository jobRepository) {
326356
Advised target = (Advised) jobRepository; // proxy created by
327357
// AbstractJobRepositoryFactoryBean

0 commit comments

Comments
 (0)