본문 바로가기
관리자

Programming-[Backend]/Database

[경험 요약] Atomikos multi-database transaction 묶기

728x90
반응형

https://wildeveloperetrain.tistory.com/332

 

Atomikos를 통한 Multi Datasource Transaction 처리 (전역 트랜잭션)

스프링 부트 다중 데이터베이스 트랜잭션 처리 (jta-atomikos) 해당 포스팅은 스프링부트 환경에서 다중 데이터베이스를 연결할 때 'multi datasource에 대한 트랜잭션 처리'에 대해 정리한 내용입니다.

wildeveloperetrain.tistory.com

 

위 링크가 정리가 잘 된 것 같다. 실무를 해보면서 유의해야할 점들을 저장해놓는다.

 

1. application.yml에서 hibernate 설정이 잘 안될 수 있다.

- 따로 Datasource config를 위한 Bean들을 만들어서 Config에서 설정 내용을 주입해줘야할 수도 있다.

 

2. DB에 설정 변경

아래 내용을 적용해야할 수 있다. 정확하게 기억이 나지 않아서 구문만 저장해놓는다.

GRANT XA_RECOVER_ADMIN ON *.* TO 'admin'@'%';FLUSH PRIVILEGES;

 

3. maven, gradle 에서 패키지 관리

atomikos가 상속받는 쪽이 javax와 jakarta가 혼합되어있다. jakarta쪽만 필요하다면 gradle에서 javax의 의존성에 exclude를 처리해줘야한다.

 

4. 트랜잭션 묶었을때 유의사항

트랜잭션은 잘 묶이지만 성능이 느려질 수 있다.

 
728x90
반응형