326.11. 생산자에서 표현식 매개변수 사용
Camel 2.14 사용 가능
아래 지정된 경로에서 데이터베이스에서 모든 프로젝트를 가져오려고 합니다. 라이센스를 정의하는 데 교환 본문을 사용하고 속성 값을 두 번째 매개 변수로 사용합니다.
from("direct:projects")
.setBody(constant("ASF"))
.setProperty("min", constant(123))
.to("sql:select * from projects where license = :#${body} and id > :#${property.min} order by id")
326.11.1. 소비자의 표현식 매개변수 사용 링크 복사링크가 클립보드에 복사되었습니다!
Camel 2.23에서 사용 가능
이제 SQL 구성 요소를 소비자로 사용할 때 표현식 매개변수(간단한 언어)를 사용하여 빈에서 메서드 호출과 같은 동적 쿼리 매개 변수를 빌드하여 id, date 또는 something를 검색할 수도 있습니다.
예를 들어 아래 샘플에서는 빈 myIdGenerator에서 nextId 메서드를 호출합니다.
from("sql:select * from projects where id = :#${bean:myIdGenerator.nextId}")
.to("mock:result");
또한 sum에는 다음과 같은 방법이 있습니다.
public static class MyIdGenerator {
private int id = 1;
public int nextId() {
return id++;
}
메시지 본문 및 헤더가 있는 기존 Exchange 가 없으므로 소비자에서 사용할 수 있는 간단한 표현식은 이 예제와 같이 Cryostat 메서드를 호출하는 데 가장 적합합니다.