* SecondBatch 작성 완료 close #1
This commit is contained in:
@@ -11,11 +11,13 @@ import org.springframework.batch.item.ItemProcessor;
|
|||||||
import org.springframework.batch.item.data.RepositoryItemReader;
|
import org.springframework.batch.item.data.RepositoryItemReader;
|
||||||
import org.springframework.batch.item.data.RepositoryItemWriter;
|
import org.springframework.batch.item.data.RepositoryItemWriter;
|
||||||
import org.springframework.batch.item.data.builder.RepositoryItemReaderBuilder;
|
import org.springframework.batch.item.data.builder.RepositoryItemReaderBuilder;
|
||||||
|
import org.springframework.batch.item.data.builder.RepositoryItemWriterBuilder;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.data.domain.Sort;
|
import org.springframework.data.domain.Sort;
|
||||||
import org.springframework.transaction.PlatformTransactionManager;
|
import org.springframework.transaction.PlatformTransactionManager;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@@ -44,6 +46,9 @@ public class SecondBatch {
|
|||||||
|
|
||||||
return new StepBuilder("secondStep", jobRepository)
|
return new StepBuilder("secondStep", jobRepository)
|
||||||
.<WinEntity, WinEntity> chunk(10, platformTransactionManager)
|
.<WinEntity, WinEntity> chunk(10, platformTransactionManager)
|
||||||
|
.reader(winReader())
|
||||||
|
.processor(trueProcessor())
|
||||||
|
.writer(winWriter())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,6 +59,7 @@ public class SecondBatch {
|
|||||||
.name("winReader")
|
.name("winReader")
|
||||||
.pageSize(10)
|
.pageSize(10)
|
||||||
.methodName("findByWinGreaterThanEqual")
|
.methodName("findByWinGreaterThanEqual")
|
||||||
|
.arguments(Collections.singletonList(10L))
|
||||||
.repository(winRepository)
|
.repository(winRepository)
|
||||||
.sorts(Map.of("id", Sort.Direction.ASC))
|
.sorts(Map.of("id", Sort.Direction.ASC))
|
||||||
.build();
|
.build();
|
||||||
@@ -62,12 +68,18 @@ public class SecondBatch {
|
|||||||
@Bean
|
@Bean
|
||||||
public ItemProcessor<WinEntity, WinEntity> trueProcessor() {
|
public ItemProcessor<WinEntity, WinEntity> trueProcessor() {
|
||||||
|
|
||||||
|
return item -> {
|
||||||
|
item.setReward(true);
|
||||||
|
return item;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public RepositoryItemWriter<WinEntity> winWriter() {
|
public RepositoryItemWriter<WinEntity> winWriter() {
|
||||||
|
|
||||||
|
return new RepositoryItemWriterBuilder<WinEntity>()
|
||||||
|
.repository(winRepository)
|
||||||
|
.methodName("save")
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,5 +37,17 @@ public class MainController {
|
|||||||
return "ok";
|
return "ok";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/second")
|
||||||
|
private String secondApi(@RequestParam("value") String value) throws Exception {
|
||||||
|
|
||||||
|
JobParameters jobParameters = new JobParametersBuilder()
|
||||||
|
.addString("date", value)
|
||||||
|
.toJobParameters();
|
||||||
|
|
||||||
|
jobLauncher.run(jobRegistry.getJob("secondJob"), jobParameters);
|
||||||
|
|
||||||
|
return "ok";
|
||||||
|
}
|
||||||
|
|
||||||
//https://docs.spring.io/spring-batch/reference/job/configuring-launcher.html
|
//https://docs.spring.io/spring-batch/reference/job/configuring-launcher.html
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package com.example.springbatch.repository;
|
package com.example.springbatch.repository;
|
||||||
|
|
||||||
import com.example.springbatch.entity.WinEntity;
|
import com.example.springbatch.entity.WinEntity;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
public interface WinRepository extends JpaRepository<WinEntity, Long> {
|
public interface WinRepository extends JpaRepository<WinEntity, Long> {
|
||||||
|
|
||||||
Optional<WinEntity> findByWinGreaterThanEqual(Long win);
|
Page<WinEntity> findByWinGreaterThanEqual(Long win, Pageable pageable);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user