[참고] Tasklet 인터페이스로 단일 배치 작업 처리 수업에 나온 코드 돌리는 방법
package com.system.batch.sy_batch_system.ch03;
import lombok.RequiredArgsConstructor;
import org.springframework.batch.core.job.Job;
import org.springframework.batch.core.job.builder.JobBuilder;
import org.springframework.batch.core.repository.JobRepository;
import org.springframework.batch.core.step.Step;
import org.springframework.batch.core.step.builder.StepBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.PlatformTransactionManager;
@Configuration
@RequiredArgsConstructor
public class CafeJobConfig2 {
private final JobRepository jobRepository;
private final PlatformTransactionManager transactionManager;
@Bean
public Job cafeJob2() {
return new JobBuilder("cafeJob2", jobRepository)
.start(cafeStep2())
.build();
}
@Bean
public Step cafeStep2() {
return new StepBuilder("cafeStep2", jobRepository)
.tasklet(cafeJobTasklet2(), transactionManager)
.build();
}
@Bean
public CafeJobTasklet cafeJobTasklet2() {
return new CafeJobTasklet();
}
}ch03 에 위에 코드 작성하시고 powerShell(윈도우일 때)
.\gradlew bootRun --args="--spring.batch.job.name=cafeJob2" 로 실행하시면 됩니다
감사합니다
답변 2
2
쿠카이든님 안녕하세요! JSCODE 시니 입니다~
직접 코드까지 작성해주시고 공유해주시는 열정 너무 멋집니다!! 👍
수업에서 다룬 Tasklet의 개념도 잘 이해하고 작성하신 것 같아서 더더욱 좋은 것 같습니다!
다른 수강생 분들께도 큰 도움이 될 것 같아요!
다른 수강생 분들도 쿠카이든님의 코드를 참고하셔서 Step => Tasklet으로 이어지는 스프링 배치의 기본 구조를 실습해보시면 공부에 큰 도움이 될 것 같습니다!
좋은 자료 공유해주셔서 너무 감사합니다!
공부하시다 궁금한 점 생기시면 언제든 질문 남겨주세요! ㅎㅎ
항상 응원하겠습니다~!!
0
안녕하세요, 인프런 AI 인턴입니다. 쿠카이든님!
지금 작성해주신 코드는 Spring Batch에서 Tasklet을 사용하여 단일 배치 작업을 수행하기 위한 구성 파일입니다. 이 코드를 성공적으로 실행하기 위해 필요한 몇 가지 기본 사항을 간단히 설명드리겠습니다.
코드 설명
Tasklet 방식:
CafeJobTasklet클래스는 실제로 수행될 작업을 정의하며, 이 예제에서는cafeJobTasklet2()로 빈 선언되어 있습니다.Job과 Step 구성:
cafeJob2()메서드는 Spring Batch의Job을 정의하며, 이는 배치 작업의 모음입니다.
cafeStep2()메서드는Step을 정의합니다. 이Step은 배치 프로세스의 최소 단위로, 여기에서는CafeJobTasklet을 사용하여 작업을 수행합니다.
Spring Batch 실행:
bootRun명령을 통해 지정된 Job인cafeJob2를 실행합니다. 파워쉘에서 다음 명령어를 사용합니다:
.\gradlew bootRun --args="--spring.batch.job.name=cafeJob2"
이 명령어는 cafeJob2이라는 Job을 실행하는 역할을 하며, Spring Boot 애플리케이션을 시작합니다.
참고 링크
보다 구체적인 실행 방법과 오류 해결에 대한 정보를 보고 싶으시다면, 아래 링크에서 도움이 될 만한 답변을 참고해 보세요:
이 링크에서는 Spring Batch의 개념과 Tasklet 실행에 대해 기존 강의에서 설명한 내용을 확인할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
upload_file_id가 1,3,4 순서인 건에 대해
0
8
1
p.created_at vs u.name 인덱스 문의
0
24
2
콘솔 로그가 깨져나오는데 혹시 방법이 있을까요?
0
24
2
자료를 다운로드후 압축을 풀때 오류납니다.
0
21
2
이진 트리 노드
0
23
1
PlatformTransactionManager, ResourcelessTransactionManager 질문
1
44
2
WebFlux & Web MVC 혼용해서 사용했을 때 스레드에 대한 질문
0
21
1
조인의 특징
0
27
2
자료 한번에 다운받기
0
21
1
서울 이미지 10개에 대한 url 접근 불가
0
38
1
스프링 빈 등록 방법 2가지 다 알아야하는 이유
0
37
1
댓글 삭제 로직에서 동시성 문제 발생 가능성
0
25
1
통계정보 갱신 질문
0
47
2
PK 관련하여 궁금한 점이 있어서 질문 드립니다.
0
47
2
설계 트레이드 오프 링크 접속 안됨
0
53
2
테스트 질문, 어떤것을 사용할것인것에 대해서
0
29
1
재고 감소와 쿠폰 발급은 왜 서로 다른 방식으로 동시성을 제어하나요?
0
30
2
탐색을 한번 더 하지 않게 하는 방식 중 어댑티브 해시 방식도 맞는지 궁금 합니다.
0
49
2
노션링크가 접근되지 않습니다.
0
48
1
소스코드 빈 파일 문의드려요
0
76
2
소스코드 빈파일 문의
0
128
1
jobParameter를 통한 멱등성 질문
1
126
2
bootRun FAILED 에 대한 문의
1
132
2
batch_db 생성 관련 문의 드립니다.
1
145
1





