구성 가능한 트랜잭션 모드
트랜잭션 모드를 사용하여 작업 관련 아티팩트가 글로벌 트랜잭션 모드 또는 로컬 트랜잭션 모드에서 호출되는지 여부를 정의합니다. xJCL에서 트랜잭션 모드를 지정합니다.
다음 목록은 com.ibm.websphere.batch.transaction.policy 특성에 대한 옵션을 설명합니다.
- global
리스너, 일괄처리 데이터 스트림 및 체크포인트 알고리즘을 포함하여 모든 작업 관련 아티팩트가 글로벌 트랜잭션 모드에서 호출되도록 지정합니다. 이 옵션은 기본값입니다.
- 로컬
- 리스너, 일괄처리 데이터 스트림 및 체크포인트 알고리즘을 포함하여 모든 작업 관련 아티팩트가 로컬 트랜잭션 모드에서 호출되도록 지정합니다.
로컬 작업 상태 테이블 및 데이터베이스에 대한 업데이트는 동일한 연결을 통해 수행되어 트랜잭션 무결성을 유지보수합니다.
트랜잭션 모드 xJCL 예
작업 레벨 특성을 지정합니다.
<job .....
...
<props>
<prop name="com.ibm.websphere.batch.transaction.policy" value="LOCAL"/>
</props>
....
로컬 트랜잭션 모드가 지정되기 때문에,
모든 사용자 코드는 일괄처리 컨테이너와의 JDBC(Java™ Database
Connectivity) 연결을 공유해야 합니다. 일괄처리 컨테이너는 작업 단계 컨텍스트에서 JDBC 연결을 작성하고 저장합니다.
다음 코드로 작업 단계 컨텍스트를 페치할 수 있습니다.
java.sql.Connection conn = JobStepContextMgr.getContext().getSharedSQLConnection();
JDBC 연결을 작성하거나 작업 단계 컨텍스트에서 얻은 연결을 닫지 마십시오. 로컬 트랜잭션 지원은 일괄처리 데이터 스트림 프레임워크 JDBC 리더나 JDBC 기록기 패턴으로 빌드됩니다. com.ibm.websphere.batch.transaction.policy 특성을 local로 설정하면 일괄처리 데이터 스트림 프레임워크가 공유된 JDBC 연결을 강제 사용합니다.