Springの純粋な注釈ベースの文書はありますか?私が見たドキュメントの90%はXML実装のために書かれています。デフォルトのJobLauncherをどのようにオーバーライドしますか?春バッチの注釈
JobParametersを渡すことができるようにデフォルトのJobLauncherをオーバーライドしようとしていますが、私が下のコードに追加したJobLauncher関数は無視され、代わりにデフォルトのSimpleJobLauncherが実行されます。
4つの異なるジョブパラメータを使用して、同じジョブの4つの同時インスタンスを起動したいとします。パラメータは、読み込み元の読者にどのディレクトリから読み込むかを伝える必要があります。
@Valueアノテーションを使用してディレクトリの値を渡すことはできますが、実行間で変更されないデフォルト値を設定できるように見えます。
私は
SpringApplication.run(Application.class, args);
を使用して自分のアプリケーションを起動してい
@EnableBatchProcessing
@Configuration
public class BatchConfiguration{
private static final Logger log = LoggerFactory.getLogger(BatchConfiguration.class);
@Resource
public JobLauncher jobLauncher;
@Resource
public JobBuilderFactory jobBuilderFactory;
@Resource
public StepBuilderFactory stepBuilderFactory;
@Bean
@StepScope
ItemReader<Record> reader(@Value("") String directory) {
return new ExcelReader(directory);
}
@Bean
public ItemProcessor processor() {
return new ItemProcessor();
}
@Bean
public JobCompletionNotificationListener listener(){
return new JobCompletionNotificationListener();
}
@Bean
public Writer writer() {
Writer writer = new Writer();
return writer;
}
//Job Definition
@Bean
public Job job(JobCompletionNotificationListener listener) {
return jobBuilderFactory.get("job")
.listener(listener)
.flow(step1("World"))
.end()
.build();
}
@Bean
public Step step1(String directory) {
return stepBuilderFactory.get("step1")
.<Record, Record> chunk(10)
.reader(reader(directory))
.processor(processor())
.writer(writer())
.build();
}
}
(「世界」が完全に無視された)、私はそれを作成するときにジョブを構成することはできないのですがに良い方法はありますアプリケーションを起動しますか?