-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Closed
Labels
Milestone
Description
As of 5.0.0, it's recommanded to use JobBuilder, StepBuilder with JobRepository
like this.
@Bean
public Job testJob(JobRepository jobRepository) {
return new JobBuilder("testJob", jobRepository)
.start(
new StepBuilder("testStep", jobRepository)
.tasklet((a, b) -> RepeatStatus.FINISHED, new ResourcelessTransactionManager())
.build()
)
.build();
}
But i still can set JobRepository
when building Job
or Step
like this.
@Bean
public Job testJob(JobRepository jobRepository) {
return new JobBuilder("testJob", jobRepository)
.start(
new StepBuilder("testStep", jobRepository)
.tasklet((a, b) -> RepeatStatus.FINISHED, new ResourcelessTransactionManager())
.repository(jobRepository) // this
.build()
)
.repository(jobRepository) // this
.build();
}
It looks redundant since it's already set in constructor. So, how about remove repository method in JobBuilderHelper
and StepBuilderHelper
? Maybe it's better to deprecate first and remove in 6.0.0
Lines 94 to 104 in 4513d78
/** | |
* Sets the job repository for the job. | |
* @param jobRepository the job repository (mandatory) | |
* @return this to enable fluent chaining | |
*/ | |
public B repository(JobRepository jobRepository) { | |
properties.jobRepository = jobRepository; | |
@SuppressWarnings("unchecked") | |
B result = (B) this; | |
return result; | |
} |
Lines 69 to 72 in 4513d78
public B repository(JobRepository jobRepository) { | |
properties.jobRepository = jobRepository; | |
return self(); | |
} |