Contents
see List작성일 2014. 09. 30.
일반적으로 하나의 모듈에선 하나의 디비를 사용하는 것이 이상적이다.
그러나 플랫폼 단위의 모듈을 개발하다보면 다중 디비를 참조하게 되는 경우가 많다.
이럴경우 일반적인 프레임워크를 사용치 않고 하드코딩하는 경우 예외처리를 통해
트랜잭션 관리를 하는경우가 많다.
그러나 보안적인 측면과 관리 그리고 개발 속도 향상과 라이브러리들의 지향점이
변화하면서 점점 프레임워크의 의존도가 높아지고있고 트랜잭션 관리의 중요성도
대두되고있다.
보통 다중디비는 jta 를 통한 tomcat 에 지정하는 방식이 많이 사용되고 있으나
db 의 커넥션을 톰캣에 넘겨주는것은 성능상으로도 관리적인 측면에서도 좋지 않다.
해서 atomikos 같은 라이브러를 통해 xaDataSource 로 연결하는 방식이 일반적이진 않지만 효율성 면에서 좋으므로 고려해볼만 하다.
그러나 해당 방식은 aop 와 중복될경우 aop 가 작동 하지 않는 경우가 생긴다.
해당 경우는 aspectJ 의 어노테이션 방식의 특히 around 를 사용할 때 많이발생한다.
spring 의 트랜젝션 매니저와 다르기 때문에 order 를 통해 우선순위를 주더라도
정상 작동하지 않는다.
이유는 aop 의 around 에서 예외처리를 통한 핸들링 중 예외가 트랜잭션 까지 넘어가지
못하고 aop 에서 예외처리를 해버려 정상적으로 롤백등의 동작이 하지 않는것이다.
그래서 spring aop 에서는 try catch 문을 통한 핸들링 보다는
interceptor 나 exception handler 를 통해 핸들링 하는것을 권장하며
예외처리를 위한 목적으로 around 를 사용하는것은 비추천한다.
차라리 after 나 before 등으로 처리하는것이 관점지향프로그래밍 이라는 것에도 부합 한듯 하다.
database
| No | 작성일 | Title |
|---|---|---|
| 3380 | 2026. 08. 20. | PostgreSQL 느린 조회를 진단하는 방법: EXPLAIN ANALYZE와 복합 인덱스 실전 가이드 |
| 3348 | 2026. 08. 11. | PostgreSQL 잠금 대기 줄이기: 트랜잭션 범위와 lock_timeout 설정 실전 가이드 |
| 3316 | 2026. 08. 03. | PostgreSQL 백업 복구 실전 가이드: pg_dump·pg_restore로 장애 복구 절차 만들기 |
| 3284 | 2026. 07. 26. | PostgreSQL 인덱스가 있는데도 느린 쿼리 해결하기: EXPLAIN ANALYZE와 복합 인덱스 설계 |
| 3254 | 2026. 07. 18. | PostgreSQL 잠금 대기 진단 가이드: pg_stat_activity로 블로킹 쿼리 찾고 장애 줄이기 |
| 3202 | 2026. 07. 09. | PostgreSQL 백업 복구 검증 가이드: pg_dump와 psql로 실제 복원까지 확인하기 |
| 3170 | 2026. 07. 01. | MySQL 느린 쿼리 원인 찾기: EXPLAIN과 복합 인덱스 점검 가이드 |
| 3116 | 2026. 06. 23. | PostgreSQL 트랜잭션 충돌 줄이기: 잠금 순서와 짧은 재시도로 데드락 대응하기 |
| 3058 | 2026. 06. 15. | PostgreSQL JSONB 조회 튜닝: GIN 인덱스와 생성 컬럼으로 느린 검색 줄이기 |
| 2971 | 2026. 06. 07. | MySQL/MariaDB 복합 인덱스 설계: 느린 목록 조회를 줄이는 WHERE·ORDER BY 점검법 |