JSCODE Logo
블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

트랜잭션 처리가 불필요한 배치는 어떻게 만들까?

JSCODE 시니
JSCODE 시니
2026. 04. 04.
author
JSCODE 시니
category
Spring Batch
createdAt
Feb 7, 2026 01:11 AM
isPublic
isPublic
series
Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
slug
non-transactional-batch-processing
type
post
updatedAt
Apr 4, 2026 10:00
일반적으로 태스크릿 지향 방식의 배치 처리는 간단하게 처리되는 경우가 대부분이다. 따라서, 굳이 데이터 베이스의 트랜잭션 관리가 필요하지 않은 경우도 다반사인데, 이때마다 꼭 transactionManager를 넘겨주어야 할까? 이런 경우에는, DB 커넥션과 트랜잭션을 관리하는 PlatformTransactionManager 를 사용하지 않고 다른것으로 대체할 수 있다.

✅ 1. ResourcelessTransactionManager

  • 이름 그대로 자원(Resource)을 가지고 있지 않은 트랜잭션 매니저
  • 실제 데이터 베이스(DB)와 연결되지 않은, 껍데기만 있는 트랜잭션 매니저
    • 스프링 배치가 동작하기 위해 형식적으로 필요한 트랜잭션 관리자의 역할을 함.
    • 다만, 실제 DB의 Commit 이나 Rollback을 수행하지 않는 클래스 이다.
  • DB가 필요없는 단순 파일 처리
  • 단순 API호출
  • 테스트 코드 작성
 

✅ 2. 예시코드

@3ean public Step openCafeStep(){ return new StepBuilder("openCafeStep", jobRepository) .tasklet((contribution, chunkContext) -> { System.out.println("[오픈] 카페 문을 열고 머신을 예열 합니다."); return RepeatStatus.FINISHED; // 준비 끝! 다음단계로~ }, new ResourcelessTransactionManager()) .build(); }
 
author
category
Spring Batch
createdAt
Mar 5, 2026 10:56 PM
isPublic
isPublic
series
Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
slug
type
series-footer
updatedAt
Apr 4, 2026 10:00
📎
이 글은 Spring Batch 입문 강의의 수업 자료 중 일부입니다.