20장. JoSQL
20.1. 개요
JoSQL(Java 개체용 SQL) 언어를 사용하면 Apache Camel에서 서술자 및 표현식을 평가할 수 있습니다. JoSQL은 SQL과 같은 쿼리 구문을 사용하여 메모리 내 Java 개체의 데이터에 대한 선택 및 순서 지정 작업을 수행합니다. JoSQL은 데이터베이스가 아닙니다. JoSQL 구문에서 각 Java 개체 인스턴스는 테이블 행처럼 취급되며 각 개체 메서드는 열 이름처럼 처리됩니다. 이 구문을 사용하면 Java 개체 컬렉션에서 데이터를 추출하고 컴파일하기 위한 강력한 문을 구성할 수 있습니다. 자세한 내용은 http://josql.sourceforge.net/ 을 참조하십시오.
20.2. JoSQL 모듈 추가
경로에서 JoSQL을 사용하려면 예 20.1. “camel-josql 종속성 추가” 과 같이 camel-josql
에 대한 종속성을 프로젝트에 추가해야 합니다.
예 20.1. camel-josql 종속성 추가
<!-- Maven POM File --> ... <dependencies> ... <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-josql</artifactId> <version>${camel-version}</version> </dependency> ... </dependencies>
20.3. 정적 가져오기
애플리케이션 코드에서 sql()
정적 메서드를 사용하려면 Java 소스 파일에 다음 import 문을 포함합니다.
import static org.apache.camel.builder.sql.SqlBuilder.sql;
20.4. 변수
표 20.1. “SQL 변수” JoSQL을 사용할 때 액세스할 수 있는 변수를 나열합니다.
이름 | 유형 | 설명 |
---|---|---|
|
| 현재 교환 |
|
| IN 메시지 |
|
| OUT 메시지 |
속성 |
| 키가 속성인 교환 속성 |
헤더 |
| 키가 헤더인 IN 메시지 헤더 |
variable |
| 키가 변수인 변수 |
20.5. 예제
예 20.2. “JoSQL을 사용하는 경로” JoSQL을 사용하는 경로를 표시합니다.
예 20.2. JoSQL을 사용하는 경로
<camelContext> <route> <from uri="direct:start"/> <setBody> <language language="sql">select * from MyType</language> </setBody> <to uri="seda:regularQueue"/> </route> </camelContext>