Skip to content

@EnableMongoJobRepository fails with Invalid transaction attribute token: [SERIALIZABLE] #5105

@br05s

Description

@br05s

Bug description
When using @EnableMongoJobRepository with @EnableBatchProcessing, you will receive an error saying Invalid transaction attribute token: [SERIALIZABLE]

Environment

  • Spring Boot 4.0.0
  • Spring Batch 6.0.0
  • Java 25

Steps to reproduce

  1. Create a new Spring Boot project through the Initializr with Spring Batch and Spring Data MongoDB selected.
  2. Create a configuration class and annotate it with @EnableBatchProcessing and @EnableMongoJobRepository
  3. Implement a simple job
  4. Add MongoDB properties to application.yml

Expected behavior
Job should run without issue

Minimal Complete Reproducible example
SimpleJobConfig.java

@EnableBatchProcessing
@EnableMongoJobRepository
@Configuration
public class SimpleJobConfig {

    @Bean
    Job simpleJob(Step simpleStep, JobRepository jobRepository) {
        return new JobBuilder(jobRepository)
                .incrementer(new RunIdIncrementer())
                .start(simpleStep)
                .build();
    }

    @Bean
    Step simpleStep(Tasklet simpleTasklet, PlatformTransactionManager transactionManager, JobRepository jobRepository) {
        return new StepBuilder("simpleStep", jobRepository)
                .tasklet(simpleTasklet, transactionManager)
                .build();
    }

    @Bean
    Tasklet simpleTasklet() {
        return (contribution, chunkContext) -> {
            println("test");
            return RepeatStatus.FINISHED;
        };
    }

    @Bean
    MongoTransactionManager transactionManager(MongoDatabaseFactory mongoDatabaseFactory) {
        return new MongoTransactionManager(mongoDatabaseFactory);
    }

}

application.yml

spring:
  application:
    name: batch-mongo-demo
  mongodb:
    host: (removed)
    port: 27017
    database: batch

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions