15장. EL
15.1. 개요
EL(Unified Expression Language)은 원래 JSP 2.1 표준(JSR-245)의 일부로 지정되었지만 이제 독립 실행형 언어로 사용할 수 있습니다. Apache Camel은 EL 언어의 오픈 소스 구현인 JUEL( http://juel.sourceforge.net/)과 통합됩니다.http://juel.sourceforge.net/
15.2. JUEL 패키지 추가
경로에서 EL을 사용하려면 예 15.1. “camel-juel 종속성 추가” 에 표시된 대로 camel-juel
에 대한 종속성을 프로젝트에 추가해야 합니다.
예 15.1. camel-juel 종속성 추가
<!-- Maven POM File --> <properties> <camel-version>2.23.2.fuse-7_10_0-00018-redhat-00001</camel-version> ... </properties> <dependencies> ... <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-juel</artifactId> <version>${camel-version}</version> </dependency> ... </dependencies>
15.3. 정적 가져오기
애플리케이션 코드에서 el()
정적 메서드를 사용하려면 Java 소스 파일에 다음 import 문을 포함합니다.
import static org.apache.camel.language.juel.JuelExpression.el;
15.4. 변수
표 15.1. “EL 변수” EL을 사용할 때 액세스할 수 있는 변수를 나열합니다.
Variable | 유형 | 현재의 |
---|---|---|
|
| 현재 교환 |
|
| IN 메시지 |
|
| OUT 메시지 |
15.5. 예제
예 15.2. “EL을 사용하는 경로” EL을 사용하는 두 개의 경로를 보여줍니다.
예 15.2. EL을 사용하는 경로
<camelContext> <route> <from uri="seda:foo"/> <filter> <language language="el">${in.headers.foo == 'bar'}</language> <to uri="seda:bar"/> </filter> </route> <route> <from uri="seda:foo2"/> <filter> <language language="el">${in.headers['My Header'] == 'bar'}</language> <to uri="seda:bar"/> </filter> </route> </camelContext>