7장. XA 트랜잭션을 사용하여 Spring Boot에서 Camel 서비스 실행

Spring Boot Camel XA 트랜잭션 빠른 시작은 두 개의 외부 트랜잭션 리소스, A-MQ(A-MQ) 및 데이터베이스(PostgreSQL)에서 XA 트랜잭션을 지원하는 Spring-Boot에서 Camel 서비스를 실행하는 방법을 보여줍니다. 이러한 외부 리소스는 OpenShift에서 제공하며 이 빠른 시작을 실행하기 전에 시작해야 합니다.

7.1. StatefulSet 리소스

이 빠른 시작에서는 OpenShift StatefulSet 리소스를 사용하여 트랜잭션 관리자의 고유성을 보장하고 트랜잭션 로그를 저장하려면 PersistentVolume이 필요합니다. 애플리케이션은 StatefulSet 리소스에서 스케일링을 지원합니다. 각 인스턴스에는 자체 프로세스 내 복구 관리자가 있습니다. 특수 컨트롤러를 사용하면 애플리케이션이 축소될 때 보류 중인 트랜잭션을 종료하지 않고도 모든 인스턴스를 올바르게 완료할 수 있습니다. 복구 관리자가 종료하기 전에 보류 중인 모든 작업을 플러시할 수 없는 경우 컨트롤러에서 축소 작업을 롤백합니다. 이 빠른 시작에서는 Spring Bootnaana 복구 컨트롤러를 사용합니다.