..
Quartz: JobStoreTx vs JobStoreCMT의 차이
1. JobStore란?
Quartz 스케줄러에서 데이터(Job, Trigger 등)를 어떻게 영속적으로 저장하고 관리할지를 정의하는 설정입니다.
2. 두 설정의 핵심 차이
- JobStoreTx: Quartz가 직접 데이터베이스 트랜잭션을 관리합니다. 스프링이나 외부의 트랜잭션 관리자와 연결되지 않고 독자적으로 제어하고 싶을 때 사용합니다.
- JobStoreCMT (Container Managed Transactions): 애플리케이션 서버나 프레임워크(Spring JTA 등)가 관리하는 트랜잭션에 참여합니다. 기존 업무 로직과 스케줄링 데이터 처리를 하나의 트랜잭션으로 묶어야 할 때 필수적입니다.
일반적으로 스프링 환경에서 스케줄러를 통합하여 사용할 때는 트랜잭션의 일관성을 위해 JobStoreCMT 설정을 고려하는 경우가 많습니다.