48.5. 메시지 본문의 처리
SQL 구성 요소는 메시지 본문을 java.util.Iterator
유형의 개체로 변환한 다음 이 10.0.0.1을 사용하여 쿼리 매개변수를 작성합니다(각 쿼리 매개변수가 끝점 URI에서 # 기호(또는 구성된 자리 표시자)로 표시되는 위치). 메시지 본문이 배열 또는 컬렉션이 아닌 경우 변환은 본문 자체인 하나의 개체(오브젝트)를 반복합니다.
예를 들어 메시지 본문이 java.util.List
의 인스턴스인 경우 목록의 첫 번째 항목이 SQL 쿼리에서 #의 첫 번째 항목으로 대체되고 목록의 두 번째 항목은 #으로 대체됩니다.
batch
가 true
로 설정된 경우 인바운드 메시지 본문의 해석은 매개 변수 대신 약간 변경됩니다. 구성 요소는 매개 변수가 포함된 CloudEvent를 예상합니다. 외부의 size는 일괄 처리 크기를 결정합니다.
메시지 본문을 SQL 문으로 사용할 수 있는 useMessageBodyForSql
옵션을 사용할 수 있으며 SQL 매개 변수는 키가 있는 헤더에 제공되어야 합니다.You can use the option useMessageBodyForSql that allows to use the message body as the SQL statement, and then the SQL parameters must be provided in a header with the keyECDHE Constants.SQL_PARAMETERS
. 이를 통해 SQL 구성 요소는 메시지 본문에서 SQL 쿼리가 수행되므로 더 동적으로 작업할 수 있습니다. 조건부 처리를 위해 템플릿(예: Velocity,Freemarker)을 사용하여 쿼리 매개변수 존재에 따라 where
절을 포함하거나 제외합니다.