본문 바로가기

Playlist/Spring Batch

(6)
BatchConfig */domain/content/global import com.codeit.playlist.domain.content.batch.MovieTasklet;import com.codeit.playlist.domain.content.batch.SportContentTasklet;import com.codeit.playlist.domain.content.batch.TvSeriesTasklet;import lombok.extern.slf4j.Slf4j;import org.springframework.batch.core.Job;import org.springframework.batch.core.Step;import org.springframework.batch.core.job.builder.JobBuilder;im..
SportContentTasklet */domain/content/batch import com.codeit.playlist.domain.content.api.handler.TheSportHandler;import lombok.RequiredArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.springframework.batch.core.StepContribution;import org.springframework.batch.core.scope.context.ChunkContext;import org.springframework.batch.core.step.tasklet.Tasklet;import org.springframework.batch.repeat.RepeatStatus;im..
TvSeriesTasklet */domain/content/batch import com.codeit.playlist.domain.content.api.mapper.TmdbMapper;import com.codeit.playlist.domain.content.api.response.TvSeriesResponse;import com.codeit.playlist.domain.content.api.service.TvSeriesApiService;import com.codeit.playlist.domain.content.entity.Content;import com.codeit.playlist.domain.content.repository.ContentRepository;import com.codeit.playlist.domain.cont..
MovieTasklet */domain/content/batch import com.codeit.playlist.domain.content.api.mapper.TmdbMapper;import com.codeit.playlist.domain.content.api.response.TheMovieResponse;import com.codeit.playlist.domain.content.api.service.TheMovieApiService;import com.codeit.playlist.domain.content.entity.Content;import com.codeit.playlist.domain.content.repository.ContentRepository;import com.codeit.playlist.domain.cont..
ContentScheduler */domain/content/batch@Slf4j@Component@RequiredArgsConstructorpublic class ContentScheduler { private final JobLauncher jobLauncher; private final Job contentJob; @Scheduled(cron = "0 0 5 * * *") // 매일 오전 5시에 실행 public void runContentJob() { log.info("[콘텐츠 데이터 관리] API 배치 작업 시작"); JobParameters jobParameters = new JobParametersBuilder() .addLong("time : ",..
Spring Batch, 배치 Spring 배울때 한번 배웠고 프로젝트에서도 사용했지만, 복습차원에서 한번 더 쓰면서 공부한다 Spring Batch대량의 데이터를 처리하고 관리하기 위한 엔터프라이즈급 애플리케이션을 구축하기 위한 경량 배치 프레임워크@Scheduled 애너테이션을 활용하여 스케쥴러를 구성하여 배치를 동작시키는 방법을 사용해본 적이 있다 Batch특정 주기마다 데이터를 처리하는 작업. 정산이나 통계 혹은 로깅관리에 쓰이며 매주, 매월마다 한 번 실행되게끔 한다 배치작업은 Spring Framework를 이용하지 않고 순수한 Java언어로도 만들 수 있다. 애초에 Spring 특성상 Spring을 벗겨내도 순수한 자바언어로 동작하게끔 할 수 있다. 그래도 프레임워크를 활용하면 훨씬 간단하게 배치 프로그램을 만들 수 있겠..