Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 아이템 리더 커스텀
- stepexecutionlistener
- job parameter
- 스프링배치 csv
- 읽기 작업과 쓰기 작업 분리
- mybatis
- 선언적 트랜잭션 관리
- step 값 공유
- step 사이 변수 공유
- JSON 분할
- 아이템 리더 페이징 처리
- 스프링배치 메타테이블
- 스프링 트랜잭션 관리
- JSON 분리
- JSONArray 분할
- JSONObject 분할
- 트랜잭션 분리
- spring batch 5
- step 여러개
- Spring Batch
- 마이바티스 트랜잭션
- 스프링배치 엑셀
- aop proxy
- executioncontext 변수 공유
- abstractpagingitemreader
- spring batch 변수 공유
- flatfileitemwriter
- api 아이템 리더
- executioncontext
- 스프링 배치 5
Archives
- Today
- Total
목록마이바티스 트랜잭션 (1)
ebson
[Spring boot, Mybatis, ChainedTransactionManager ] 분산 데이터베이스 트랜잭션 처리하기
대형 서비스에서 데이터베이스를 여러대로 분산해 효용성을 높이고 규모를 조절하는 것은 일반적인 방법이다. 그리고 데이터베이스당 트랜잭션 처리가 이루어지는 특성상 한 기능단위에서 2개 이상 데이터 소스에 접근하고자 할 때 스프링에서 별도의 작업을 취하지 않으면, 한개의 데이터 소스로만 commit 되고 다른 데이터 소스에 대한 commit이 누락될 수 있다. 즉 A 데이터 소스와 B 데이터 소스에 대한 스프링의 트랜잭션 매니저들 중 하나만 동작한다는 것이다. 이때는 스프링에서 제공하는 ChainedTransactionManager를 적용해 A, B 데이터 소스에 대한 트랜잭션이 모두 동작하도록 할 수 있다. 위 클래스의 동작 방식은 공식 문서에 따르면, 생성자의 인자로 전달받은 트랜잭션 매니저를 순서대로 처..
HANDS-ON
2023. 2. 23. 16:33