1515import lombok .RequiredArgsConstructor ;
1616import org .springframework .batch .core .Job ;
1717import org .springframework .batch .core .Step ;
18- import org .springframework .batch .core .configuration .annotation .EnableBatchProcessing ;
19- import org .springframework .batch .core .configuration .annotation .JobBuilderFactory ;
20- import org .springframework .batch .core .configuration .annotation .StepBuilderFactory ;
2118import org .springframework .batch .core .configuration .annotation .StepScope ;
19+ import org .springframework .batch .core .job .builder .JobBuilder ;
20+ import org .springframework .batch .core .repository .JobRepository ;
21+ import org .springframework .batch .core .step .builder .StepBuilder ;
2222import org .springframework .batch .item .file .FlatFileItemReader ;
2323import org .springframework .batch .item .file .MultiResourceItemReader ;
2424import org .springframework .batch .item .file .builder .MultiResourceItemReaderBuilder ;
2929import org .springframework .batch .item .support .builder .ClassifierCompositeItemProcessorBuilder ;
3030import org .springframework .batch .item .xml .StaxEventItemReader ;
3131import org .springframework .beans .factory .annotation .Value ;
32- import org .springframework .boot .autoconfigure .EnableAutoConfiguration ;
3332import org .springframework .context .annotation .Bean ;
3433import org .springframework .context .annotation .Configuration ;
3534import org .springframework .core .io .Resource ;
3635import org .springframework .oxm .jaxb .Jaxb2Marshaller ;
36+ import org .springframework .transaction .PlatformTransactionManager ;
3737
3838import java .util .Map ;
3939
4040@ Configuration
41- @ EnableBatchProcessing
42- @ EnableAutoConfiguration
4341@ RequiredArgsConstructor
4442public class BatchConfig {
4543
@@ -49,8 +47,8 @@ public class BatchConfig {
4947 "isonumber" , "url" , "phone" , "bin_length" , "affiliation" , "mark"
5048 };
5149
52- private final JobBuilderFactory jobBuilderFactory ;
53- private final StepBuilderFactory stepBuilderFactory ;
50+ private final JobRepository jobRepository ;
51+ private final PlatformTransactionManager transactionManager ;
5452 private final BinbaseService binbaseService ;
5553
5654 @ Value ("${batch.strict_mode}" )
@@ -115,9 +113,8 @@ public FlatFileItemReader<BinBaseCsvData> buildBinBasePsbCsvReader() {
115113
116114 @ Bean
117115 public Job binBaseJob (Step step ) {
118- return jobBuilderFactory .get ("binBaseJob" )
119- .flow (step )
120- .end ()
116+ return new JobBuilder ("binBaseJob" , jobRepository )
117+ .start (step )
121118 .build ();
122119 }
123120
@@ -128,10 +125,11 @@ public ClassifierCompositeItemProcessor compositeProcessor() {
128125 .build ();
129126 }
130127
128+
131129 @ Bean
132- public Step step (MultiResourceItemReader multiResourceItemReader ) {
133- return stepBuilderFactory . get ("binBaseStep" )
134- .<Resource , Map .Entry <BinData , Range <Long >>>chunk (1000 )
130+ public Step step (MultiResourceItemReader < BinData > multiResourceItemReader ) {
131+ return new StepBuilder ("binBaseStep" , jobRepository )
132+ .<BinData , Map .Entry <BinData , Range <Long >>>chunk (1000 , transactionManager )
135133 .reader (multiResourceItemReader )
136134 .processor (compositeProcessor ())
137135 .writer (new BinRangeWriter (binbaseService ))
0 commit comments