티스토리 뷰

Skill/spring

수동 트랜잭션 설정

진열사랑 2022. 10. 7. 17:19

출처 : https://m.blog.naver.com/PostView.naver?isHttpRedirect=%3Ftrue&blogId=likerkawk&logNo=220280549971

spring transaction 수동 설정하기

스프링에서 트랜잭션 사용시, 특정 메소스에만 트랜잭션(오류발생시, 롤백하는 행위) 처리가 필요한 경우가...

blog.naver.com

스프링에서 트랜잭션 사용시, 특정 메소스에만 트랜잭션(오류발생시, 롤백하는 행위) 처리가 필요한 경우가 있다.


이런 경우, 설정파일(xml)에 작성하지 않고 해당 메소드에 직접 작성함으로써 트랜잭션을 적용할 수 있다.


메소드내 아래와 같이 적어주면 된다.


===클래스 상단부===

@Autowired
DataSource dataSource;

==메소드 내용===

DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);


// construct an appropriate transaction manager
DataSourceTransactionManager txManager = new DataSourceTransactionManager(dataSource);

TransactionStatus sts = txManager.getTransaction(def);


try{
//DB 처리-1
//DB 처리-2

//DB 처리-3       => 에러 발생시, 1,2 내용 롤백처리 됨

}catch(Exception e){
txManager.rollback(sts);
}

txManager.commit(status);

'Skill > spring' 카테고리의 다른 글

[thymeleaf] 문법  (0) 2022.10.12
환경별 properties 분리  (0) 2022.10.11
[java] enum  (0) 2022.10.06
WebFlux  (0) 2022.10.06
java8 vs. java11  (0) 2022.10.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함