Ped*_*neh 4 java spring batch-processing spring-batch spring-boot
我正在使用弹簧靴.我有一个我用这些类实现的批处理作业:
我的主要课程是:
@SpringBootApplication
@ComponentScan("com.batch")
@PropertySource("classpath:application.properties")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
Run Code Online (Sandbox Code Playgroud)
我的日程安排是:
@Component
@EnableScheduling
public class JobScheduler {
@Scheduled(fixedRate = 10000)
public void runJob() {
SpringApplication.run(MyBatchConfig.class);
}
}
Run Code Online (Sandbox Code Playgroud)
我的批处理配置类是:
@Configuration
@EnableBatchProcessing
public class MyBatchConfig {
@Value("${database.driver}")
private String databaseDriver;
@Value("${database.url}")
private String databaseUrl;
@Value("${database.username}")
private String databaseUsername;
@Value("${database.password}")
private String databasePassword;
@Bean
public Job myJob(JobBuilderFactory jobs, Step s) {
Job job = jobs.get("myJob")
.incrementer(new RunIdIncrementer())
.flow(s)
.end()
.build();
return job;
}
@Bean
public Step myStep(StepBuilderFactory stepBuilderFactory, ItemReader<Account> reader,
ItemWriter<Person> writer, ItemProcessor<Account, Person> processor) {
TaskletStep step = stepBuilderFactory.get("myStep")
.<Account, Person>chunk(1)
.reader(reader)
.processor(processor)
.writer(writer)
.build();
step.setAllowStartIfComplete(true);
return step;
} ...
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是:
调度程序工作,它每十秒重复一次,但作业只在应用程序启动时执行(读取器,处理器和编写器只在启动时执行一次),似乎
SpringApplication.run(MyBatchConfig.class);
Run Code Online (Sandbox Code Playgroud)
对重新运行工作没有影响.
我该怎么办?
提前致谢
这是我能想到的,
1.您将此属性放在application.properties中,因此您的批处理作业不会通过调用SpringApplication.run(...)from main方法自动启动.
spring.batch.job.enabled=false
这将简单地初始化Spring Batch配置,而不是实际开始工作.
2. @EnableScheduling 在Spring Boot Batch Job起始类上注释,即在Application 代码中的类上.
3.取出@EnableScheduling从注释JobScheduler类和调用,jobLauncher.run(job, jobParameters)从runJob()而不是调用的SpringApplication.run(MyBatchConfig.class).
JobLauncher&Jobbeans可以自动连接到您的调度程序类,因为上下文已经初始化.
希望能帮助到你 !!
| 归档时间: |
|
| 查看次数: |
4124 次 |
| 最近记录: |