すみませんが、これはいくつかの質問にはうってつけかもしれませんが、私の考えを超えてしまったので、私の考えを修正して専門家から適切な説明を得る価値があると思います。ホースプリングバッチアプリケーションが開始されました
私はちょうど春のバッチチュートリアルを開始し、これらのアプリケーションが開始されている混乱している。コンフィギュレーションクラスが
ある@Configuration
@EnableBatchProcessing
public class BatchConfiguration {
@Autowired
public JobBuilderFactory jobBuilderFactory;
@Autowired
public StepBuilderFactory stepBuilderFactory;
@Autowired
public DataSource dataSource;
// tag::jobstep[]
@Bean
public Job importUserJob(JobCompletionNotificationListener listener) {
return jobBuilderFactory.get("importUserJob")
.incrementer(new RunIdIncrementer())
.listener(listener)
.flow(step1())
.end()
.build();
}
@Bean
public Step step1() {
return stepBuilderFactory.get("step1")
.<Person, Person> chunk(10)
.reader(reader())
.processor(processor())
.writer(writer())
.build();
}
// end::jobstep[]
}
のは、公式サイトで
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
をこの例を見てみましょう、ここでここでは、main()
方法は、アプリケーションを起動するために春ブーツのSpringApplication.run()
メソッドを使用していることを述べました。
私はこの仕事を開始する明示的なコードが見つかりませんでしたが、それは唯一の構成部分(宣言)です。ここで
public static void main(String[] args) {
GenericApplicationContext context = new AnnotationConfigApplicationContext(MyBatchConfiguration.class);
JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher");
Job job = (Job) context.getBean("myJobName");//this is bean name of your job
JobExecution execution = jobLauncher.run(job, jobParameters);
}
iは、ジョブがjobLauncher
で実行されていることを理解することができます:
Check https://stackoverflow.com/questions/23447948/how-spring-boot-run-batch-jobs –