325.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")325.11.1. 소비자에서 표현식 매개변수 사용
Camel 2.23 사용
이제 SQL 구성 요소를 소비자로 사용하는 경우 빈에서 id, date 또는 무언가를 검색하기 위해 빈에서 메서드를 호출하는 것과 같은 동적 쿼리 매개 변수(간단 언어)를 빌드할 수도 있습니다.
예를 들어 아래 샘플에서는 빈 myIdGenerator에서 nextId 메서드를 호출합니다.
from("sql:select * from projects where id = :#${bean:myIdGenerator.nextId}")
.to("mock:result");또한 빈에는 다음 메서드가 있습니다.
public static class MyIdGenerator {
private int id = 1;
public int nextId() {
return id++;
}
메시지 본문 및 헤더가 있는 기존 Exchange 는 없으므로 소비자에서 사용할 수 있는 간단한 표현식은 이 예제와 같이 빈 메서드를 호출하는 데 가장 많이 사용할 수 있습니다.