현재 프로젝트에 JMS를 구현하려고합니다.JMS 메시지 생성자 및 고객 트랜잭션 관리
메시지 생성자와 메시지 소비자를 두 개의 개별 응용 프로그램으로 만들고 생산과 소비를 두 개의 별도 프로세스 (클라이언트)로 만들고 싶습니다. 하지만 제 요구 사항은 생산자와 소비자간에 트랜잭션 관리를하는 것입니다. 제작자가 100 개의 메시지를 보내고 있고 단일 메시지 전달이 실패하면 전체 100 개의 마사지 배치가 실패했다고 가정 해보십시오.
보낸 메시지의 각 일괄 처리가 별도의 세션에 있으므로 세션을 커밋하거나 롤백 할 수 있기 때문에이 작업을 수행 할 수 있다고 생각합니다. 하지만 내 소비자는 비동기이며 단일 세션에서 실행됩니다.
소비자의 트랜잭션 관리를 어떻게 수행합니까? 나는 그 일괄 처리에서 하나의 메시지 처리 (소비)가 실패 할 경우 위에서 언급 한 100 가지 메시지 일괄 처리를 롤백해야한다.
나는 2 단 트랜잭션을 달성하기를 원한다. 엔드 - 투 - 엔드 트랜잭션 관리를 달성하고 싶지 않다. 뭔가가 생산자 측면에서 잘못되면, 메시지 전송 만 롤백해야합니다. 소비자 측에서 문제가 발생하면 소비가 롤백되어야하지만, 배치 원자 레벨에서이를 수행하고 싶습니다. –
다른 해결책이있을 수 있지만 * one * 배치 메시지 만 사용합니다. 그것들은 무엇을 포함하고 크기는 얼마입니까? – Beryllium