나의 생각을 끄적이는 공간

블로그 이미지

Wooni0477

카테고리

  • 분류 전체보기 (118)
    • 프로그래밍 정리 (102)
      • Front (5)
      • Java (2)
      • JSP, Servlet, DB(oracle) (33)
      • JavaScript (0)
      • Spring (22)
      • Oracle (28)
      • Vue (1)
      • API (1)
      • err (5)
      • ERD (1)
      • etc.. (4)
    • BoostCourse (15)
      • HTML/CSS (7)
      • JavaScript (4)
      • JSP (4)
    • 공부 자료들.. (0)
    • 기타 (0)
    • --------------------------- (0)
    • 끄적이는공간.. (0)
      • 이벤트 (0)
      • 여행 (0)

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

MVC_Spring - 트랜잭션 전파속성

프로그래밍 정리/Spring 2020. 1. 7. 14:52
반응형
MVC_Spring - 트랜잭션 전파속성



  • 트랜잭션 전파속성이란?
트랜잭션을 시작하거나, 기존 트랜잭션에 참여하는 방법을 결정하는 속성이다.




  • 트랜잭션 흐름
여러 트랜잭션이 순서대로 실행되는 흐름





  • 트랜잭션 흐름 자세한 설명


전파속성(propagation)은 기존 트랜잭션 작업중, 또 다른 트랜잭션 작업이 필요할때 흐름을 다루는 작업이다.






만약 트랜잭션 흐름중에 하나라도 오류가 난다면, 기존 트랜잭션은 모두 Rollback 시킨다.


★중요포인트

새로 생긴 작업이 트랜잭션에 참여하는지 아닌지가 중요하다.





  • 트랜잭션 전파 속성(propagation) 설명

     속성명

    옵션값

     REQUIRED

     0 

     REQUIRED_NEW

     3

     SUPPORTS

     1

     NOT_SUPPORTED

     4

     MANDATORY

     2

     NEVER

     5


 

 

REQUIRED(디폴트 속성)(0)
이미 시작된 트랜잭션이 있으면 참여하고, 없으면 새로운 트랜잭션을 시작합니다.
 

 




 

 

REQUIRED_NEW(3)
항상 새로운 트랜잭션을 시작합니다.
이미 진행중인 트랜잭션이 있다면 잠시 보류시킵니다.
 

 SUPPORTS(1)

이미 시작된 트랜잭션이 있으면 참여하고, 없으면 트랜잭션 없이 처리합니다.
  

 

 

NOT_SUPPORTED(4)
트랜잭션을 사용하지 않고 처리하도록 합니다.
이미 진행중인 트랜잭션이 있다면 잠시 보류시킵니다.
  

 

 

MANDATORY(2)
이미 시작된 트랜잭션이 있으면 참여하고, 없으면 예외를 발생시킵니다.
혼자서는 독립적으로 수행되면 안되는 경우에 사용됩니다.
  

 

 

NEVER(3)
트랜잭션을 사용하지 않도록 강제시킵니다.
이미 진행중인 트랜잭션 또한 허용하지 않으며, 있다면 예외를 발생시킵니다.
  
  
NESTED
이미 실행중인 트랜잭션이 있다면 중첩하여 트랜잭션을 진행합니다. 부모 트랜잭션은 중첩 트랜잭션에 영향을 주지만 중첩 트랜잭션은 부모 트랜잭션에 영향을 주지 않습니다.




출저 : https://icarus8050.tistory.com/23



  • 실습 예제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- .............. -->
<!-- 내용 중간 부분    -->
            
    <beans:bean name="transactionTemplate1" class="org.springframework.transaction.support.TransactionTemplate">
        <beans:property name="transactionManager" ref="transactionManager" />
        <beans:property name="propagationBehavior" value="0"/>
    </beans:bean>
    
    <beans:bean name="transactionTemplate2" class="org.springframework.transaction.support.TransactionTemplate">
        <beans:property name="transactionManager" ref="transactionManager" />
        <beans:property name="propagationBehavior" value="1"/>
    </beans:bean>
 
<!-- 내용 중간 부분    -->            
<!-- .............. -->
 
Colored by Color Scripter
cs











반응형
저작자표시 비영리 변경금지 (새창열림)

'프로그래밍 정리 > Spring' 카테고리의 다른 글

MVC_Spring - 트랜잭션 템플릿 사용  (0) 2020.01.03
MVC_Spring - 트랜잭션 기본  (0) 2020.01.03
MVC_Spring - @Autowired 사용하기  (0) 2020.01.03
MVC_Spring - JDBC 템플릿 사용하기  (0) 2020.01.02
MVC_Spring - 폼 데이터 값 검증  (0) 2020.01.02
Posted by Wooni0477
방명록 : 관리자 : 글쓰기
Wooni0477's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

나의 생각을 끄적이는 공간

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (118)
    • 프로그래밍 정리 (102)
      • Front (5)
      • Java (2)
      • JSP, Servlet, DB(oracle) (33)
      • JavaScript (0)
      • Spring (22)
      • Oracle (28)
      • Vue (1)
      • API (1)
      • err (5)
      • ERD (1)
      • etc.. (4)
    • BoostCourse (15)
      • HTML/CSS (7)
      • JavaScript (4)
      • JSP (4)
    • 공부 자료들.. (0)
    • 기타 (0)
    • --------------------------- (0)
    • 끄적이는공간.. (0)
      • 이벤트 (0)
      • 여행 (0)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바