트랜잭션 확인 방법

greenTea·2023년 7월 4일
0

트랜잭션 확인 방법

🫠spring에서 @Transaction을 사용하다 보면 같은 트랜잭션인지 궁금할 때가 있습니다. 그럴때는 아래와 같은 방법을 사용하면 됩니다.
(기본적으로 트랜잭션에 관하여 알고 있어야 아래 메소드들이 의미하는 바를 알 수 있습니다.)

TransactionSynchronizationManager

// 현재 트랜잭션 여부 확인
boolean inTransaction = TransactionSynchronizationManager.isActualTransactionActive();

// 현재 트랜잭션의 이름 확인
String transactionName = TransactionSynchronizationManager.getCurrentTransactionName();

// 현재 트랜잭션의 상태 확인
Object transactionStatus = TransactionSynchronizationManager.getCurrentTransactionStatus();

🧐TransactionSynchronizationManager를 통해 행당 트랜잭션이 같은 트랜잭션인지 현재 상태는 어떤지를 확인 할 수 있습니다.
isActualTransactionActive()를 통해 현재 활성화 상태인지를 확인 할 수 있으며 getCurrentTransactionName()를 통해 현재 트랜잭션의 이름을 확인 할 수 있습니다.

TransactionAspectSupport.currentTransactionStatus()를 통해서는 해당 트랜잭션에 관한 부가정보를 얻을 수 있습니다.

TransactionAspectSupport

		 // 트랜잭션 롤백
        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

        // 트랜잭션 커밋
        TransactionAspectSupport.currentTransactionStatus().flush();
        
        // 새로운 트랜잭션 확인
        TransactionAspectSupport.currentTransactionStatus().isNewTransaction()

🫠이 외에도 다양한 메소드들이 존재하며 이를 통해 트랜잭션에 관한 정보들을 얻을 수 있습니다.

profile
greenTea입니다.

0개의 댓글