다른 도메인과 Spring Boot 애플리케이션을 통합하기 위해 Camel을 사용하고 있습니다.Camel SQL 소비자에서 트랜잭션을 시작하고 사용하는 방법
String selectSQL = "SELECT * FROM T1 WHERE PROCESSED is null and ROWNUM <4 for update skip locked";
String updateSQL = "update T1 set PROCESSED='TRUE' where id = :#id";
String insertSQL = "insert into T2 (col_name...) values (col_value...)";
내가 내 하나의 폴링 1 트랜잭션을 실행하려면 다음 SQL을하고 싶습니다 :
from("sql:"+selectSQL+"?consumer.delay=20000&onConsume="+updateSQL)
.log("---select sql done")
.to("sql:" + insertSQL);
및 SQL을 다음과 같다 : 나는 간단한 경로 DB를 폴링 SQL 구성 요소를 사용하여 업데이트 구성되어 의뢰. 내가 .transacted("propagationPolicy")
으로 거래를 처리 할 수 있다는 것을 알고 있지만 from
앞에 넣을 수는 없습니다.
모든 폴링을 트랜잭션으로 설정할 수 있습니까?
PS. 나는 타이머 구성 요소와 각 SQL에 대한 별도의 경로로 해결 방법을 가지고 있지만 위와 같이 단 1 개의 경로를 사용하여 내 문제를 해결할 수 있는지 궁금합니다.